home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / wrb100c2.zip / WRBBS.DOC < prev    next >
Text File  |  1993-01-18  |  198KB  |  3,586 lines

  1. ===========================================================================
  2. ===========================================================================
  3. ==                                                                       ==
  4. ==     WR-BBS                 INSTALLATION AND ADMINISTRATION MANUAL     ==
  5. ==                                                                       ==
  6. ===========================================================================
  7. ===========================================================================
  8.                                      
  9.               ** PRELIMINARY DOCUMENTATION AS OF 01/16/93 **
  10.                                      
  11.                          For WR-BBS versions 1.XX
  12.                                      
  13.                   Copyright (C) 1993 by Wilson A. Rogers
  14.  
  15.  
  16. --------------------------  TABLE  OF  CONTENTS  --------------------------
  17.  
  18. PREFACE
  19. SECTION 1                                                           SUPPORT
  20. SECTION 2                       IMPORTANT WARRANTY DISCLAIMER - PLEASE READ
  21. SECTION 3                                          WR-BBS LICENSE AGREEMENT
  22. SECTION 4                                            INTRODUCTION TO WR-BBS
  23. SECTION 5                                                     THE HOME PATH
  24. SECTION 6                                           INSTALLING WR-BBS FILES
  25. SECTION 7                                                      SCREEN FILES
  26. SECTION 8                                                            WR.BAT
  27. SECTION 9                                                ... THE FIRST TIME
  28. SECTION 10                                               CONFIGURING WR-BBS
  29. SECTION 11                             CLASS OF SERVICE (COS) CONFIGURATION
  30. SECTION 12                                                        THE SYSOP
  31. SECTION 13                                                 SETTING UP DOORS
  32. SECTION 14                                                  TROUBLESHOOTING
  33. SECTION 15                                                     MIDNIGHT.BAT
  34. SECTION 16                                     HOW THE MESSAGE SYSTEM WORKS
  35. SECTION 17                                               CONFIGURING EVENTS
  36. SECTION 18                                                THE QUESTIONNAIRE
  37. SECTION 19                                                 THE ACTIVITY LOG
  38. SECTION 20                                                THE "DOWN" OPTION
  39. SECTION 21                                        WHILE A CALLER IS ON LINE
  40. SECTION 22                                 EXTERNAL FILE TRANSFER PROTOCOLS
  41. SECTION 23                                                    MISCELLANEOUS
  42.  
  43.  
  44.               ** PRELIMINARY DOCUMENTATION AS OF 01/16/93 **
  45.  
  46. ===========================================================================
  47. PREFACE
  48. ===========================================================================
  49.  
  50. WR-BBS is  a bulletin board communications program, designed for the small-
  51. to-medium single  node BBS  application.    WR-BBS  is  distributed  on  an
  52. "evaluation-before-registration" basis.  This  method  of  distribution  is
  53. commonly referred to as shareware.
  54.  
  55. Whether you  are starting  a new BBS, or replacing another BBS application,
  56. you are  welcome to  try WR-BBS  on an  evaluation basis.  If it meets your
  57. expectations, register  the program  with the  author.  If it does not meet
  58. your expectations, simply delete the file named WRBBS.EXE (you can keep the
  59. rest of  the files if you wish), and there is no further obligation on your
  60. part.
  61.  
  62. NOTE TO  CURRENT SYSOPS:   If you are replacing an existing BBS application
  63. with WR-BBS,  you are  urged  to  completely  back  up  your  existing  BBS
  64. program's files  before  implementing  WR-BBS.    This  will  minimize  the
  65. inconvenience to  you if  you later decide that you do not wish to continue
  66. using WR-BBS,  as you  can restore  the previous  BBS application  quickly.
  67. Before installing  WR-BBS, you should read the documentation thoroughly, as
  68. the WR-BBS  implementation of some features differs from the implementation
  69. used by  other BBS  programs.   Also, WR-BBS has some features not found in
  70. other BBS programs (and does not have some features that other BBS programs
  71. have).
  72.  
  73. There are  10 basic steps involved to install WR-BBS.  It is suggested that
  74. you follow  the steps  in the  order presented  to  assure  a  trouble-free
  75. installation:
  76.  
  77.  
  78.        A.   Read the important warranty disclaimer in section 2.  Make sure
  79.                     that you  understand that the author is not responsible
  80.                     for any damages - before you begin installing WR-BBS on
  81.                     your system.
  82.        
  83.        B.   Familiarize yourself  with the  license agreement.   This is in
  84.                     section 3 of this document.
  85.        
  86.        C.   Set up the "home path".  This is described in detail in section
  87.                     5 of this document.
  88.        
  89.        D.  Install the WR-BBS files.  See section 6 for information on this
  90.                     process.
  91.        
  92.        E.  Edit the screen files as needed for your board.  Section 7 tells
  93.                     how to do this.
  94.        
  95.        F.  Read section 8, which tells how WR.BAT works, and why its use is
  96.                     strongly recommended.
  97.        
  98.        G.   Establish an  initial database.   The  command to  do  this  is
  99.                     described in section 9.
  100.        
  101.        H.   Configure WR-BBS,  using WRCONFIG.SYS.    See  section  10  for
  102.                     details.
  103.        
  104.        I.   Start WR-BBS,  by typing  WR, wait  for WR-BBS to start up, and
  105.                     then log on locally (press ALT-L).
  106.        
  107.        J.  Test your new WR-BBS installation.
  108.  
  109. The installation,  configuration, and  testing process should take about 30
  110. to 90  minutes after  you read  this document.  If you  are also  going  to
  111. implement (optional)  doors, events, and other frills, the total setup time
  112. will be longer.
  113.                                      
  114.                                      
  115. ===========================================================================
  116. SECTION 1                                                           SUPPORT
  117. ===========================================================================
  118.                                      
  119.                        HOW TO GET SUPPORT FOR WR-BBS
  120.  
  121. Many questions  and operational  anomalies with  WR-BBS can  be resolved by
  122. consulting this  documentation.  If you have a problem with WR-BBS, you can
  123. obtain support by one of these three methods:
  124.  
  125.         Support Method # 1  (Preferred method of obtaining support)
  126.         -----------------------------------------------------------
  127.  
  128. Log onto the WR-BBS Headquarters BBS, located in Kirkland, Washington.  The
  129. telephone number is (206) 828-9089.  The WR-BBS Headquarters BBS is usually
  130. on line  twenty four  hours a  day.  300, 1200, 2400, 4800, 9600, and 14400
  131. baud is supported, with V42.bis and MNP5 protocols available.
  132.  
  133. When you  call the  WR-BBS Headquarters  BBS for  support, you  can send  a
  134. (C)omment to  the SysOp  and describe  the problem  you are having.  I will
  135. respond to  all support  requests promptly  (usually within  24 hours).  To
  136. receive your  response, you  will  need  to  log  back  on  to  the  WR-BBS
  137. Headquarters BBS again at a later time.  If you are not in the calling area
  138. that can  dial Kirkland,  Washington as a local call, long distance charges
  139. will apply.   Most  support requests  require a minimum of two calls to the
  140. WR-BBS Headquarters  BBS -  the first  call to  send a  message  requesting
  141. support, and a second call that you make to receive the answer.
  142.  
  143. When logging  onto the  WR-BBS Headquarters  BBS for  support, you may also
  144. wish to peruse the message system - there may be messages from (and replies
  145. to) other  SysOps who  had the same question.  Known bugs and documentation
  146. errors are  added to  the appropriate  bulletins when  they are discovered.
  147. The bulletins  also indicate  which versions  of WR-BBS  are affected,  and
  148. which version contains the fix for such bugs.
  149.  
  150.                             Support Method # 2
  151.                             ------------------
  152.  
  153. You can  reach the author via electronic mail on the CompuServe Information
  154. Service.   Send your  CompuServe Mail to Wilson A. Rogers at 75020,1361.  I
  155. check CompuServe  at least  several times  a week  (often daily).   I  will
  156. respond via  CompuServe Mail  promptly (usually  within twenty four hours).
  157. This method  may be  less expensive  than the  first  method  if  Kirkland,
  158. Washington is  a long  distance call  for you.   Most  CompuServe users can
  159. reach CompuServe  with a  local call.   (CompuServe usually makes a nominal
  160. charge for usage, depending on your account type).
  161.  
  162.  
  163.                              Support Method #3
  164.                              -----------------
  165.  
  166. You can  use the  U.S. Mail  to request support.  This is the least direct,
  167. and slowest  of the  three available methods.  Address your support request
  168. to:
  169.  
  170.           WR-BBS Support
  171.           P.O. Box 8024
  172.           Kirkland, WA  98034-0024
  173.  
  174. I will  respond, via  the mail,  promptly with  a  reply  to  your  support
  175. request.   My experience  has been  that a first class letter from the east
  176. coast to  the west  coast takes  between 3  and 6  days for  delivery.    I
  177. therefore recommend  that you  use one  of the  other  support  methods  if
  178. possible.
  179.  
  180.  
  181.                      Methods of Support NOT available
  182.                      --------------------------------
  183.  
  184. The following support methods are not available for WR-BBS:
  185.  
  186.           - Telephone support (other than via modem)
  187.           - Fax support
  188.  
  189.      NOTE: Please do NOT call the author at his residence.  Support is
  190.      not available  in this  manner and will NOT be provided.  Use one
  191.      of the support methods described above to reach the author.
  192.  
  193. There is  no charge  for support.   Registered  WR-BBS SysOps  will receive
  194. support at  no charge  for as long as they have a current version of WR-BBS
  195. installed, or  until WR-BBS  is discontinued.   SysOps  who  have  not  yet
  196. registered their  copy of WR-BBS will also receive support, but support for
  197. evaluation copies  is discontinued  forty five days after the first support
  198. request.   Thus, each evaluation copy receives free support for at least 45
  199. days.
  200.  
  201. As  with   any  complex  software,  bugs  will  be  discovered,  and  fixes
  202. implemented for  WR-BBS.   Maintenance  releases  will  be  made  available
  203. periodically,  and   can  be   downloaded  (no   charge)  from  the  WR-BBS
  204. Headquarters BBS.  A typical  maintenance release  contains fixes for minor
  205. bugs, and  possibly some  new minor feature enhancements.  If a serious bug
  206. is discovered, a "correction release" may be created to resolve the problem
  207. until the  next maintenance  release is published.  Correction releases and
  208. maintenance releases can be downloaded (no charge from author) from the WR-
  209. BBS Headquarters  BBS,  and  possibly  from  other  BBS's  where  they  are
  210. available. Correction  releases and  maintenance releases  are  not  mailed
  211. automatically, and  in fact are never mailed, unless you specifically order
  212. one and  pay the  nominal handling  charge for  handling and mailing.  This
  213. applies  regardless   of  the  severity  of  problem(s)  corrected  by  the
  214. correction release  or  maintenance  release.  The  most  expeditious  (and
  215. probably the least expensive) method for you to obtain a correction release
  216. or maintenance release is to download it.
  217.  
  218. When major  operational changes  and feature  additions are made to WR-BBS,
  219. this is referred to as an upgrade.  Upgrades can be downloaded from the WR-
  220. BBS Headquarters  BBS.   There may  be a  nominal charge  for upgrades.  An
  221. example of a major operation change would be multi-node operation.
  222.  
  223.  
  224.                       HOW WR-BBS VERSION NUMBERS WORK
  225.  
  226.        All WR-BBS  version  numbers  are  expressed  as  a  numeric
  227.        character followed  by a  decimal  point,  followed  by  two
  228.        numeric characters,  and possibly followed by a letter (from
  229.        A to Z).
  230.  
  231.                                 1.00A <-- Update letter
  232.                                 | ||
  233.                                 | ||
  234.              Major version number ||
  235.                                   ||
  236.         Intermediate version number|
  237.                                    |
  238.                                    Minor version number
  239.  
  240.  
  241.        The major  version number is changed only when an upgrade is
  242.        released.    It  represents  a  significant  change  in  the
  243.        software from one number to the next.
  244.        
  245.        The  intermediate   version  number   is  incremented   when
  246.        significant changes  have been  made to  the  software,  but
  247.        operational characteristics  are not  substantially  changed
  248.        (not an upgrade).
  249.        
  250.        The  minor   version  number  is  incremented  each  time  a
  251.        maintenance release is published.
  252.        
  253.        The update  letter (which may not appear at all) is added or
  254.        incremented each  time a  correction release is published to
  255.        correct a problem between regular maintenance releases.
  256.  
  257.                                      
  258.                                 SOURCE CODE
  259.                                 -----------
  260.  
  261. WR-BBS was written in Pascal, using Borland TurboPascal 6.0.  Some external
  262. procedures (namely  the communications  routines) were  written in assembly
  263. language, using Borland TASM.
  264.  
  265. To assist third-party developers who wish to create utilities for WR-BBS, a
  266. source file  containing the  file and  record types  is included  with  the
  267. master WR-BBS  distribution archive.   This  file,  WRBBS_T1.PAS,  is  also
  268. available for download from the WR-BBS Headquarters BBS.
  269.  
  270. No other source code will be published.
  271.  
  272.  
  273. ===========================================================================
  274. SECTION 2                       IMPORTANT WARRANTY DISCLAIMER - PLEASE READ
  275. ===========================================================================
  276. This section  describes the risk that you or your company takes in using or
  277. implementing WR-BBS.  In plain English, you are responsible for all damages
  278. that WR-BBS  may cause  if you  use it  on your  system, whether or not the
  279. damages are  due to  a defect  in the  program.    Rather  than  hide  this
  280. disclaimer in  small type  at the end of the documentation, I am putting it
  281. up front,  and urge you to read it carefully before proceeding. If you feel
  282. this is  unfair, or  you are  in any  way uncomfortable  with the fact that
  283. there is  no warranty  of any kind on the WR-BBS program, please delete the
  284. WR-BBS files now.
  285.  
  286.                             WARRANTY DISCLAIMER
  287.                     IMPORTANT - EVERYONE READ CAREFULLY
  288.                            YOU ARE AT SOLE RISK
  289.  
  290. The following  disclaimer of  warranty applies  to EVERY  copy  of  WR-BBS,
  291. whether registered or not, unless specifically indicated otherwise.  Please
  292. read it  carefully.   In this and the following paragraphs, "YOU" refers to
  293. you, the  person or  entity who  uses  (or  attempts  to  use)  the  WR-BBS
  294. SOFTWARE; "AUTHOR"  refers to  Wilson A. Rogers, or any lawful successor to
  295. Wilson A.  Rogers, or  any lawful  owner of  the WR-BBS  source code, whose
  296. ownership of  that source  code has been authorized in writing by Wilson A.
  297. Rogers;  and  "WR-BBS  SOFTWARE"  means  the  executable  program  file(s),
  298. overlays, and  proprietary files  associated with  the  single-node  WR-BBS
  299. Bulletin Board System.
  300.  
  301.        WR-BBS SOFTWARE is supplied on an "AS IS" basis.  Subject to
  302.        any contrary  provisions of applicable state law, the AUTHOR
  303.        disclaims  any   and  all   implied  warranties,   including
  304.        warranties  of   merchantability  and/or   fitness   for   a
  305.        particular purpose.   Except for suggestions to the contrary
  306.        that  may   appear  in   the  official   documentation  that
  307.        accompanies the WR-BBS SOFTWARE, the AUTHOR does not purport
  308.        that the  WR-BBS SOFTWARE is fit for any purpose whatsoever,
  309.        nor does the AUTHOR make any claim, implied or otherwise, as
  310.        to the merchantability of the WR-BBS SOFTWARE.
  311.        
  312.        The AUTHOR  disclaims any  and all  responsibility  for  any
  313.        damages resulting  from the  use or attempted use of the WR-
  314.        BBS SOFTWARE,  including, but  not limited  to consequential
  315.        damages, indirect  damages, coincidental  damages,  loss  of
  316.        revenue, wages,  or income,  loss of  goodwill, loss of data
  317.        and/or files, system downtime, and "special damages".
  318.        
  319.        YOU assume  all risk  in attempting to use, or using the WR-
  320.        BBS SOFTWARE.   YOU must independently determine whether the
  321.        WR-BBS SOFTWARE  is suitable  for  your  intended  use,  and
  322.        whether or not the WR-BBS SOFTWARE will cause damage to YOU,
  323.        prior to  any use  or attempted  use of the WR-BBS SOFTWARE.
  324.        If you  cannot make  this  determination,  do  not  use  (or
  325.        attempt to  use) the  WR-BBS SOFTWARE.   The AUTHOR does not
  326.        authorize any  person or  entity to  make that determination
  327.        for  you.    You  must  make  this  determination  prior  to
  328.        registering the  WR-BBS SOFTWARE  with the  AUTHOR.  If, for
  329.        any reason,  you determine  that the  WR-BBS SOFTWARE is not
  330.        suitable  for   your  use  within  thirty  (30)  days  after
  331.        registering the  WR-BBS SOFTWARE,  the AUTHOR,  upon written
  332.        application from  YOU, will  refund any and all license fees
  333.        paid by  YOU to  the AUTHOR.  Should this  happen, YOU  must
  334.        immediately and permanently discontinue any use or attempted
  335.        use of  the WR-BBS  SOFTWARE. Such refund is the sole remedy
  336.        for any failure of the WR-BBS SOFTWARE.
  337.        
  338.        In  the   event  that  the  WR-BBS  SOFTWARE,  after  proper
  339.        registration, fails to perform substantially as described in
  340.        the official WR-BBS documentation at any time during the six
  341.        month period  following registration,  the AUTHOR will, upon
  342.        written application  from YOU,  refund any  and all  license
  343.        fees previously  paid by  YOU to  the AUTHOR. Such refund is
  344.        the sole  remedy for  any failure  of the  WR-BBS  SOFTWARE.
  345.        Should this  happen, YOU  must immediately  and  permanently
  346.        discontinue any use or attempted use of the WR-BBS SOFTWARE.
  347.        
  348.        Support for  WR-BBS SOFTWARE  is available by modem, through
  349.        the  WR-BBS   Headquarters   BBS,   through   another   data
  350.        communications service,  and by mail. There is no charge for
  351.        support to  registered licensees  who have a current version
  352.        of the  WR-BBS SOFTWARE.  The AUTHOR will not be responsible
  353.        for any  toll, message  unit, or  communications charges YOU
  354.        incur while  accessing the  WR-BBS Headquarters BBS or other
  355.        communications service(s),  or for  time expended  by YOU in
  356.        obtaining support.
  357.        
  358.        If any  provision of this warranty disclaimer is determined,
  359.        by a  court or  government agency,  to be unlawful, void, or
  360.        for any  reason unenforceable,  it shall be deemed separable
  361.        from, and  in no  way shall  affect  the  validity  of,  the
  362.        remaining provisions of this warranty disclaimer.
  363.        
  364.        The AUTHOR  reserves the  right to  discontinue development,
  365.        production, and  support of the WR-BBS SOFTWARE at any time.
  366.        If such  discontinuance occurs  with thirty (30) days of YOU
  367.        executing a valid license application, the AUTHOR will, upon
  368.        written application  from YOU,  refund any  and all  license
  369.        fees paid  by YOU  to the  AUTHOR. If  you apply  for such a
  370.        refund, YOU must immediately and permanently discontinue any
  371.        use or attempted use of the WR-BBS SOFTWARE.  Such refund is
  372.        your sole  remedy  in  the  event  the  WR-BBS  SOFTWARE  is
  373.        discontinued by  the  AUTHOR  within  thirty  (30)  days  of
  374.        registration by YOU.
  375.  
  376.  
  377. ===========================================================================
  378. SECTION 3                                          WR-BBS LICENSE AGREEMENT
  379. ===========================================================================
  380.  
  381.            WR-BBS is protected by United States copyright laws.
  382.                   Copyright (C) 1993 by Wilson A. Rogers.
  383.  
  384.  
  385. Like most  software, WR-BBS is not sold.  It is licensed, to persons and/or
  386. entities who  agree to  terms of  the license.  No person or entity has the
  387. right to  sell WR-BBS  software to  you, as  it is  not for  sale under any
  388. circumstances.   If you  agree to the terms of the license agreement (which
  389. follows), and  you submit  the proper  license fee  along with  a  properly
  390. completed registration  form, you  will receive  a license  to use the then
  391. current major  level of  WR-BBS software  for a  period not exceeding fifty
  392. (50) years.
  393.  
  394. In the  following  license  agreement,  "YOU"  means  you,  the  registered
  395. licensee who  has submitted  the proper  license fee  along with a properly
  396. executed license  application; and  "AUTHOR" means Wilson A. Rogers, or any
  397. lawful successor  to Wilson  A. Rogers,  or any  lawful owner of the WR-BBS
  398. source code,  whose ownership  of that  source code  has been authorized in
  399. writing by  Wilson A.  Rogers; and  "WR-BBS SOFTWARE"  means the executable
  400. program file(s),  overlays,  and  proprietary  files  associated  with  the
  401. single-node WR-BBS Bulletin Board System.
  402.  
  403. YOU agree  to use the WR-BBS SOFTWARE on only one computer at one time, and
  404. to prevent the use of the registered copy of the WR-BBS SOFTWARE from being
  405. used on more than one computer simultaneously.
  406.  
  407. YOU may  make as  many backup  copies of  the WR-BBS SOFTWARE as reasonably
  408. necessary to allow recovery from system failure.
  409.  
  410. YOU may  distribute un-registered  copies  of  WR-BBS  freely  and  without
  411. obligation to  the AUTHOR,  other than to hold the AUTHOR harmless from any
  412. damages that may be incurred from such distribution.
  413.  
  414. YOU agree  to keep  the executable, overlay, and other proprietary files of
  415. the WR-BBS  SOFTWARE in  their original,  unaltered format.  YOU also agree
  416. not to  modify, reverse-engineer,  or decompile  the WR-BBS SOFTWARE at any
  417. time during, and subsequent to, the termination of this license.
  418.  
  419. YOU may terminate this agreement, without notice to the AUTHOR, at any time
  420. prior to  its expiry.  The AUTHOR may terminate this agreement at any time,
  421. without notice  to YOU.  YOU agree  to destroy  all copies  of  the  WR-BBS
  422. SOFTWARE when  this agreement  is terminated  for  any  reason.    If  this
  423. agreement is  terminated by  the AUTHOR  within thirty  (30)  days  of  the
  424. license being granted, the AUTHOR will refund to YOU all monies paid to the
  425. AUTHOR for the license.  This will be your sole remedy in this situation.
  426.  
  427. YOU agree and understand that the WR-BBS SOFTWARE is provided on an "AS-IS"
  428. basis, and subject to the warranty disclaimer appearing in section two. YOU
  429. will independently  determine whether or not the WR-BBS SOFTWARE meets your
  430. needs and  whether or  not the  WR-BBS SOFTWARE  will damage your system or
  431. cause other  loss to  YOU before  YOU use  or attempt  to  use  the  WR-BBS
  432. SOFTWARE.    YOU  agree  that  if  YOU  can  not  adequately  make  such  a
  433. determination, YOU  will not  apply for a license to use, nor will YOU use,
  434. or attempt to use the WR-BBS SOFTWARE.
  435.  
  436.  
  437.  
  438. ===========================================================================
  439. SECTION 4                                            INTRODUCTION TO WR-BBS
  440. ===========================================================================
  441.  
  442. WR-BBS is  designed to  operate on  an IBM  PC <tm>  or  compatible  micro-
  443. computer.  It operates as a single-port system, but its database foundation
  444. was  designed   to  allow   multi-port  operation  as  a  potential  future
  445. development.   WR-BBS utilizes the fully-integrated W-TREE Database Manager
  446. to rapidly locate and access database records, minimizing the "dead screen"
  447. time that  would otherwise occur when a database search occurs.  The W-TREE
  448. Database Manager  is integrated at source code level for seamless operation
  449. and maximum flexibility for third party developers.
  450.  
  451. A class-of-service  (COS) section  in the system configuration allows up to
  452. 26 different  permission levels to be assigned to callers. The COS settings
  453. can be  flexibly applied  to allow  or deny  very specific  access for each
  454. group of  users.   (COS is  synonymous with  "access level"  in  other  BBS
  455. products).   The difference  in WR-BBS is that the COS designations are not
  456. incremental -  offering superb  flexibility in designing access permissions
  457. for your board.
  458.  
  459. Some specifications:
  460.                                                  DESIGN      PRACTICAL
  461.                                                  MAXIMUM      MAXIMUM
  462.                                                  -------     ---------
  463. User accounts                              2,147,483,648         1,000
  464. File descriptions                          2,147,483,648         3,500
  465. Messages on file                                  65,535         2,000
  466. File areas                                            26            26
  467. Events scheduled                                      16            16
  468. Access levels (classes of service)                    26            26
  469. Port speed (baud)                         UART dependent       115,200
  470.  
  471.                             SYSTEM REQUIREMENTS
  472.  
  473.      WR-BBS should  install and  run  on  any  IBM  PC  <tm>  or  100%
  474.      compatible micro-computer, including most DOS based systems using
  475.      8086, 8088, V20 and 80X86 processors.
  476.      
  477.      WR-BBS has been tested with DR-DOS 5, DR-DOS 6.0, MS-DOS 3.3, MS-
  478.      DOS 4.01, MS-DOS 5.0, PC-DOS 5.0 and in a DOS window of OS/2 2.0.
  479.      Any level of DR-DOS, MS-DOS, or PC-DOS higher than 2.01 should be
  480.      sufficient, but  DOS 3.3  or higher  is recommended.   WR-BBS has
  481.      been tested under DESQview <tm> 2.3, DESQview <tm> 2.4, Microsoft
  482.      Windows <tm>  3.0, and Microsoft Windows <tm> 3.1, as well as WR-
  483.      DOS 6.5.
  484.      
  485.      WR-BBS will  display in color on a color monitor (CGA, MCGA, EGA,
  486.      VGA, SVGA), but a color monitor is not required.  WR-BBS does not
  487.      use bit-mapped graphics, and is compatible with all display types
  488.      found on DOS computers.  Additional graphics memory pages are not
  489.      required for use under a multi-tasker.
  490.      
  491.      ANSI color  screens can  be  configured  for  display  to  remote
  492.      callers, whether  or not  a color  monitor is  used at  the local
  493.      console.   WR-BBS does NOT require ANSI.SYS to be loaded in order
  494.      to display  ANSI graphics,  as WR-BBS  contains a  built-in  ANSI
  495.      driver.
  496.      
  497.      WR-BBS requires  approximately 230  KB of memory during run time.
  498.      During DOS shells, WR-BBS swaps almost 90% of its image to EMS or
  499.      disk (configurable), leaving only about 18 KB residing in memory.
  500.      WR-BBS can  be configured to swap its image when calling external
  501.      protocols and  "door" programs,  allowing generous memory for the
  502.      called program.
  503.  
  504.  
  505. ===========================================================================
  506. SECTION 5                                                     THE HOME PATH
  507. ===========================================================================
  508.  
  509.        
  510.        Setting the  HOME PATH  environment variable  is one  of the
  511.        easiest aspects  of configuring  your new WR-BBS system.  It
  512.        is also  the most important configuration item.  If you read
  513.        nothing else in this document, please read this section.
  514.        
  515.  
  516. Throughout this  document, you  will see  mention of  the "home path".  The
  517. home path  refers the  actual DOS  path where  WR-BBS can find its program,
  518. overlay, and  data files.  WR-BBS checks the DOS environment for a variable
  519. which tells  it the  location of  these files.   It  is one  of the easiest
  520. configuration items relative to WR-BBS, but is also the most important.
  521.  
  522. Prior to  installing, initializing  or starting WR-BBS, the DOS environment
  523. variable named "WR-BBS" must be set to the home path.  If this is not done,
  524. WR-BBS will  not start.  This is done by issuing the SET command to DOS, as
  525. in the following example:
  526.  
  527.      SET WR-BBS=[path]
  528.  
  529. Where [path]  is the  actual path  to WR-BBS's  files.   Unless you  have a
  530. compelling reason  for doing  otherwise, it is recommended that you put WR-
  531. BBS's files  in a  sub-directory named  WR-BBS, immediately  off  the  root
  532. directory of  your boot  drive.   In this case, the home directory would be
  533. named C:\WR-BBS,  and the  SET command to set the home path would look like
  534. this:
  535.  
  536.      SET WR-BBS=C:\WR-BBS
  537.  
  538. The trailing backslash on the home path is not expected (but does no damage
  539. if added).  Thus, the command:
  540.  
  541.      SET WR-BBS=C:\WR-BBS   and   SET WR-BBS=C:\WR-BBS\
  542.                                   trailing backslash  ^
  543.  
  544. are identical  for purposes of WR-BBS determining the home path.  Note that
  545. no matter  what you use for the home path, when you issue the home path SET
  546. command to DOS, the following important syntax rules apply:
  547.  
  548.      - There is no space on either side of the equal sign.
  549.      - The first character after the equal sign must be a valid drive
  550.           letter.
  551.      - The command can be issued in upper or lower case.
  552.      - The portion of the SET after the equal sign must be a valid DOS sub-
  553.           directory designation.
  554.      - The entire pathname cannot exceed 64 characters
  555.  
  556. The following home path SET statements are NOT valid:
  557.  
  558.      SET WR-BBS=\WR-BBS
  559.                 ^(no drive letter specified)
  560.      
  561.      SET WR-BBS= C:\WR-BBS
  562.                 ^(no space allowed on either side of = sign)
  563.      
  564.      SET WR-BBS=C:BBSFILES
  565.                  ^(does not point to a directory)
  566.  
  567. While the following home path SET statements are valid:
  568.  
  569.      SET WR-BBS=C:\BBSFILES\BIN
  570.                 ^(can point to any valid DOS directory)
  571.      
  572.      set WR-BBS=c:\WR-BBS
  573.      ^(upper/lower case doesn't matter)
  574.  
  575. It is  STRONGLY recommended  that you insert the SET WR-BBS command in your
  576. AUTOEXEC.BAT file.   Then,  the DOS  environment variable for the home path
  577. will be  properly set each time your computer is booted, and you will never
  578. have to  worry about  it again.   To do this, use an ASCII file editor, and
  579. edit the file AUTOEXEC.BAT, inserting the appropriate SET command as one of
  580. the first  few lines  in that file.  Then save the file as a standard ASCII
  581. file, and reboot your system to make it take effect.
  582.  
  583. To test  the DOS  environment (to  make sure that the SET command has taken
  584. effect), type  just the three-letter word SET at the DOS command line.  DOS
  585. will then  print out several lines, one for each environment variable.  One
  586. of the  lines should  read WR-BBS=[path],  where path  is your  actual home
  587. path.   If you  do not get this result, then an error was made when SETting
  588. the environment,  or there  is  insufficient  environment  space  available
  589. (which can be easily remedied - see section 14).
  590.  
  591. NOTE:   Do NOT  include the  WR-BBS home  path in  your DOS  PATH or APPEND
  592. statements.
  593.  
  594. If you  ever move  your WR-BBS application to another directory (or another
  595. system), you  will need to make sure that the home path is properly defined
  596. before restarting WR-BBS.
  597.  
  598. Some programs  will butcher  your AUTOEXEC.BAT  and  CONFIG.SYS  when  they
  599. install themselves,  so that  they can  put their  own special commands in.
  600. The worst of these will delete the changes described above (and other vital
  601. lines in  AUTOEXEC.BAT and  CONFIG.SYS).   If you  install any applications
  602. after installing  WR-BBS, you  are well advised to first make backup copies
  603. of your AUTOEXEC.BAT and CONFIG.SYS files.
  604.  
  605. WR-BBS never modifies AUTOEXEC.BAT or CONFIG.SYS, or any other system file.
  606.  
  607.      RECOMMENDATION:   You should put the appropriate SET statement in
  608.      your AUTOEXEC.BAT.  This will  prevent mysterious  problems  from
  609.      surfacing later, such as WR-BBS refusing to restart after a power
  610.      failure.     If  the   SET  statement  for  WR-BBS  is  not  done
  611.      automatically each  time the system starts, WR-BBS will be unable
  612.      to restart  without human  intervention.   Naturally,  this  will
  613.      happen when  you are  3,000 miles away from your system attending
  614.      the Murphy's  Law seminar, and your WR-BBS system will not answer
  615.      calls until  you get back. You can prevent this from happening by
  616.      inserting the  SET statement  for the  WR-BBS home  path in  your
  617.      AUTOEXEC.BAT file  before you  do anything  else. Do  it once and
  618.      forget it. Do it now.
  619.  
  620. ===========================================================================
  621. SECTION 6                                           INSTALLING WR-BBS FILES
  622. ===========================================================================
  623.  
  624. First you  must choose a directory for the WR-BBS files to reside in.  This
  625. is the  "home"  directory  as  discussed  in  the  preceding  section.  The
  626. directory  "\WR-BBS"   off  the  root  directory  of  your  boot  drive  is
  627. recommended, but any valid DOS directory can be used.  Keep in mind that no
  628. files other  than those  related to  WR-BBS should exist in the WR-BBS home
  629. directory, so  do not  use an  existing directory  that belongs  to another
  630. application.   The use  of the  root directory  as  the  WR-BBS  home  path
  631. directory is possible, but strongly recommended against.
  632.  
  633. Next, you  need to  create the  home path  directory if it does not already
  634. exist.  Do this by issuing the DOS command:
  635.  
  636.      MKDIR [dirname]
  637.  
  638. Where [dirname]  is the  full directory  name of  the WR-BBS home path sub-
  639. directory.   Next, make  the home  path directory  the current directory by
  640. issuing this command at the DOS command line:
  641.  
  642.      CHDIR [dirname]
  643.  
  644. Where [dirname]  is the WR-BBS home path directory. If you receive an error
  645. message from  DOS, check  your typing  and try  again, or refer to your DOS
  646. manual.
  647.  
  648. Now that the home path directory is current, copy all of the files from the
  649. WR-BBS archive  (or installation  diskette) into  the homepath directory by
  650. issuing one of the following commands:
  651.  
  652.      XCOPY [SourcePath]\*.* /V               or
  653.      
  654.      COPY [SourcePath]\*.* /V
  655.  
  656. Where [SourcePath]  is the  actual DOS  path to  the  WR-BBS  files.    For
  657. example, if  you de-compressed  the WR-BBS  files into  a  directory  named
  658. C:\MODEM\DOWNLOAD, the proper syntax would be
  659.  
  660.      XCOPY C:\MODEM\DOWNLOAD\*.* /V          or
  661.      
  662.      COPY C:\MODEM\DOWNLOAD\*.* /V
  663.  
  664. Alternatively, if  you are  using a distribution diskette obtained from the
  665. author, you would type:
  666.  
  667.      XCOPY A:\*.* /V                         or
  668.      
  669.      COPY A:\*.* /V
  670.  
  671. provided that the diskette was in the A: drive.
  672.  
  673. The following files are provided with WR-BBS, and should be copied into the
  674. WR-BBS home  path directory.   They must always reside in the home path for
  675. correct operation  of WR-BBS.    With  the  exception  of  the  executable,
  676. overlay, and  database files,  all WR-BBS files are in character format and
  677. can be readily edited as required:
  678.  
  679. MIDNIGHT.BAT
  680.           This is  a sample batch file, modify to suit your application, or
  681.           delete if  you wish.   If  MIDNIGHT.BAT is  present, WR-BBS  will
  682.           execute it  immediately after  DOS  reports  that  the  date  has
  683.           changed (which  is at  00:00 hours).  See  section  15  for  more
  684.           information on MIDNIGHT.BAT.
  685.  
  686. NOACCESS.TXT
  687.           This file  is checked  whenever a  new user logs on for the first
  688.           time.   If that  caller's name is found in NOACCESS.TXT, they are
  689.           not allowed  to continue,  and are  forced off.    This  prevents
  690.           callers from  using cute  names like  EATME SYSOP  or worse.  The
  691.           file by  default contains  a list  of possible  bad  names.    It
  692.           includes some  bad  words,  so  if  you  are  sensitive  to  such
  693.           language,  don't   read  the   file.    You  can  add  or  remove
  694.           "undesirable" names  to this  file as  needed, with  one name per
  695.           line. When  NOACCESS.TXT is scanned, each line is compared to the
  696.           caller's first  AND last  name.   Thus, if  "CAPTAIN" appears  in
  697.           NOACCESS.TXT, a  caller who  claims to be "CAPTAIN KIRK" would be
  698.           denied access,  and so would "BOB CAPTAIN".  Thus, you need to be
  699.           careful to keep potential "valid" names out of NOACCESS.TXT.
  700.  
  701. OSACCESS.BAT
  702.           This is another sample batch file, which you can edit if desired.
  703.           It controls  access  to  the  operating  system  when  the  SysOp
  704.           requests a shell to DOS.
  705. WR.BAT
  706.           This is  the main batch file that controls WR-BBS operation.  You
  707.           should run  WR-BBS by  typing "WR"  and pressing  <ENTER>, rather
  708.           than running  WRBBS.EXE directly.   This  is  explained  in  more
  709.           detail in section 8.
  710.  
  711. WRBBS.EXE
  712.           This is the program file for WR-BBS.  Never edit this file.
  713.  
  714. WRBBS.OVR
  715.           This is  the overlay file for WR-BBS.  To conserve memory, WR-BBS
  716.           loads overlays  into memory  as needed  and unloads  them when no
  717.           longer required. Never edit this file.
  718.  
  719. WRCONFIG.SYS
  720.           This  is   the  configuration   file  for  WR-BBS.    Almost  all
  721.           configuration   and    customization   is   done   through   this
  722.           configuration file.   You  will need  to edit this file to set up
  723.           your WR-BBS  system.   See section  10 for details on configuring
  724.           WR-BBS with WRCONFIG.SYS.
  725.  
  726. WRQUOTES.TXT
  727.           This is  an optional  file.   It  is  included  with  the  WR-BBS
  728.           distribution package  as a  sample file.  When caller's log on, a
  729.           "quotation" from  this  file  will  be  selected  at  random  and
  730.           displayed to  the caller.   You can delete this file if you don't
  731.           want the  "quote of  the day" feature.  Likewise, you can edit it
  732.           to add  your own  quotes.   Each quote must be no longer than one
  733.           line in length.
  734.  
  735. WR_AFTER.BAT
  736.           This file  is optional.   A  sample file  is  included  with  the
  737.           original WR-BBS  distribution package.   If WR-AFTER.BAT is found
  738.           in the  home path,  it will  be executed after each log-off.  You
  739.           could  use   this  batch   file  to  update  statistics-sensitive
  740.           bulletins, or  do some  other kind  of post-call  cleanup. If you
  741.           don't have a use for this feature, delete WR-AFTER.BAT.
  742.  
  743.  
  744. WFILEXFR.BAT
  745.           This is  a sample  batch file,  which you  can modify to meet the
  746.           needs of  your board.   It  controls all  file transfer  activity
  747.           (downloads and  uploads) and  external protocol  programs.    See
  748.           section 22 for additional information on this file.
  749.  
  750. ===========================================================================
  751. SECTION 7                                                      SCREEN FILES
  752. ===========================================================================
  753.  
  754. For maximum  flexibility, WR-BBS has very few "hard coded" display screens.
  755. Almost all  of the  screens that are seen by your callers are external text
  756. files which  you can  edit to  suit your  board's individual needs.  Sample
  757. screen files  are provided  with the  WR-BBS distribution package.  Many of
  758. these screen  files can  be used "as is" immediately, without editing. Some
  759. of the  screen files,  however, should  be edited  to include your BBS name
  760. and/or other installation-specific information.
  761.  
  762. Each screen  that can  be displayed  to a caller is supported by TWO screen
  763. files.   One of the screen files has an extension of .ASC (which stands for
  764. ASCII) and  the other  corresponding screen  file has  an extension of .ANS
  765. (which stands  for ANSI).   ANSI  screens are displayed to callers who have
  766. ANSI color enabled.  ASCII screens are sent to non-ANSI callers.  With very
  767. few exceptions,  ASCII screens  on WR-BBS have no color data in them.  ANSI
  768. screens, on  the other  hand, typically contain ANSI escape sequences which
  769. allow for sophisticated color and cursor-movement control.
  770.  
  771. Creating ASCII  screen files  is relatively  easy.  Use any editor that can
  772. save files  in  true  ASCII.    DOS's  EDLIN  and  EDIT  programs  do  this
  773. automatically.  Most word processors can create, edit and save "true ASCII"
  774. files, but  require commands to tell the word processing program not to put
  775. formatting symbols in the finished file.
  776.  
  777. Creating ANSI screens is a little more involved.  Although it could be done
  778. with  a   standard  text   editor,  this  would  be  a  time-consuming  and
  779. excruciating process.  The use  of an  ANSI-specific screen  file editor is
  780. strongly recommended.   A popular program called TheDraw (by TheSoft) is an
  781. ANSI screen  editor that  is very  easy  to  use.    You  can  download  an
  782. evaluation copy  of TheDraw from the WR-BBS Headquarters BBS and many other
  783. BBS's throughout the world.  Remember to register your copy of TheDraw with
  784. the TheSoft people.
  785.  
  786. When using  TheDraw (or  another ANSI  editor) to  create  WR-BBS  screens,
  787. observe the following:
  788.  
  789.           -  Most screen files should have no more than 21 lines of display
  790.           information. If  you make the display file longer than that, part
  791.           of the display screen will scroll off the remote caller's screen.
  792.           
  793.           -   When saving the file, select "NONE" for line length. You want
  794.           the editor  to place a "real" carriage return and line feed after
  795.           each "real"  line.   With ANSI  escape sequences  imbedded,  each
  796.           "line" of  text can  be a  couple of hundred characters long, but
  797.           should end  with a  conventional CR/LF  sequence. Otherwise,  the
  798.           stream of  characters will be transmitted as one gigantic line of
  799.           text.  Most modern communications programs that callers might use
  800.           to call your board can handle such a long string.  If a caller is
  801.           using a  communications  package  that  does  not  "wrap"  lines,
  802.           sending them  a mega-string  could make  their program misbehave.
  803.           Using "NONE"  for line  length  assures  that  each  time  a  new
  804.           physical line  is to  be drawn,  a carriage  return and line feed
  805.           will precede it.
  806.           
  807.           -  It is possible to make ultra-sophisticated "animated" screens,
  808.           but you  should avoid animation for the menus.  The time it takes
  809.           to transmit  animated screens may be perceived by your callers as
  810.           "wasted" time.   Bulletins  and welcome  files may  benefit  from
  811.           animation, however.
  812.           
  813.           - Select  "0" for  display speed  when saving files with TheDraw.
  814.           You want  maximum  throughput,  since  each  character  is  being
  815.           transmitted via the modem to your caller.
  816.  
  817. Most of WR-BBS's screen files MUST be present for proper operation.  If you
  818. do not  use the  originally supplied  files, use  your own  versions of the
  819. screen files.  Unless indicated as being optional, all screen files must be
  820. present in  either the  home  path,  or  the  path  you  have  defined  (in
  821. WRCONFIG.SYS) for  display files (see "SCREENDIR=" in section 10). For each
  822. screen file,  one with  an extension  of .ASC and one with and extension of
  823. .ANS must  be present.   If  a screen  file is missing, an error message is
  824. displayed to the caller, and an error is logged in the activity file.
  825.  
  826. The file names for screen files used by WR-BBS are:
  827.  
  828.  
  829. BADNAME.ASC and BADNAME.ANS:
  830.                     Displayed to  callers whose  name appears  in the  file
  831.                     NOACCESS.TXT.  The caller is then disconnected.
  832.  
  833. BULL????.ASC and BULL????.ANS:
  834.                     These are the actual bulletin screens.  WR-BBS supports
  835.                     up to 9,999 bulletins, with file names BULL0001.ASC/ANS
  836.                     through BULL9999.ASC/ANS.  The caller selects bulletins
  837.                     by typing in the corresponding number.  For example, if
  838.                     the caller  enters 34,  bulletin file  BULL0034.ASC/ANS
  839.                     will be displayed.
  840.  
  841. BULLMENU.ASC and BULLMENU.ANS:
  842.                     Menu screen which lists available bulletins.
  843.  
  844. CALLVIEW.ASC and CALLVIEW.ANS:
  845.                     This screen  file describes  the options available to a
  846.                     caller when  the "(W)ho  called  recently"  command  is
  847.                     selected from the main menu.
  848.  
  849. CHATFAIL.ASC and CHATFAIL.ANS:
  850.                     Displayed to  caller when  the SysOp  does not answer a
  851.                     chat page request.
  852.  
  853. DOORMENU.ASC and DOORMENU.ANS:
  854.                     Screen file for "doors" menu.  WR-BBS supports up to 26
  855.                     doors.  See also section 13 for detailed information on
  856.                     doors.   If you  configure any  doors, this  screen  is
  857.                     displayed to  the caller  when they choose (D)oors from
  858.                     the  main  menu.    This  screen  describes  the  doors
  859.                     available, which  are identified by letters from "A" to
  860.                     "Z".   The caller,  upon seeing the selection listed in
  861.                     this screen, then selects the desired door.
  862.  
  863. FILELIST.ASC and FILELIST.ANS:
  864.                     When a  caller, in  the Files Library, selects "(L)ist"
  865.                     to see  a listing  of available files, this screen file
  866.                     is transmitted.   It  explains the choices available to
  867.                     the caller for listing files.
  868.  
  869. FILESLIB.ASC and FILESLIB.ANS:
  870.                     Menu  screen  for  file  library  (the  "files"  menu).
  871.                     Displays  caller's  options  for  file  area,  such  as
  872.                     downloading, listing, uploading, etc.
  873.  
  874. GOODBYE.ASC and GOODBYE.ASC:
  875.                     Screen file which is sent to callers after they request
  876.                     a logoff.   This  file should  be less  than 1/2  of  a
  877.                     screen in  length.   This ensures  that the  caller can
  878.                     view the  whole text  of the screen file, even if their
  879.                     communications program  does some  line feeds after the
  880.                     disconnect is  detected. Also,  since some callers will
  881.                     drop carrier  shortly  after  selecting  (G)oodbye  and
  882.                     confirming  their  logoff,  having  a  short  "goodbye"
  883.                     screen eliminates  these callers  from being  logged as
  884.                     "dropped carrier".
  885.  
  886. GREETING.ASC and GREETING.ANS:
  887.                     Screen sent  to callers during logon, immediately after
  888.                     they answer  the question  "Do you  wish to  have  ANSI
  889.                     color?".   This screen should be only a few lines long,
  890.                     and should contain the BBS name.
  891.  
  892. HELPFILE.ASC and HELPFILE.ANS:
  893.                     This screen  is displayed  if a  caller selects  (H)elp
  894.                     from the  Files Library  menu.  Its context is specific
  895.                     to the Files Library functions available in that menu.
  896.  
  897. HELPMAIN.ASC and HELPMAIN.ANS:
  898.                     This screen  is  transmitted  in  response  to  a  user
  899.                     selecting (H)elp  from the Main Menu.  It describes the
  900.                     functions available from the Main Menu.
  901.  
  902. HELPMSGS.ASC and HELPMSGS.ANS:
  903.                     If a  caller requests  (H)elp while viewing the Message
  904.                     System Menu,  this screen  is displayed.   It  contains
  905.                     instructions on  how to use the various features of the
  906.                     WR-BBS message system.
  907.  
  908. HOW2CHAT.ASC and HOW2CHAT.ANS:
  909.                     If a  caller presses  (S)ignal for  chat from  the main
  910.                     menu, the SysOp is alerted by a series of beeps, and is
  911.                     told to  press ENTER to start the chat with the caller.
  912.                     When the  SysOp presses ENTER, this screen is sent, and
  913.                     the  chat   begins.     This  screen  contains  helpful
  914.                     information about  how to  chat without  "stepping"  on
  915.                     each other.
  916.  
  917. MAINMENU.ASC and MAINMENU.ANS:
  918.                     This screen  file comprises  the Main  Menu.  It is the
  919.                     primary screen file seen by callers when on line.
  920.  
  921. MESSAGES.ASC and MESSAGES.ANS:
  922.                     This is  the screen  file for  the Message System menu.
  923.                     It lists  the choices  available to  a caller after the
  924.                     caller selects (M)essage system from the Main Menu.
  925.  
  926. NEWS.ASC and NEWS.ANS:
  927.                     Newsletter  file.    Displayed  to  callers  who  press
  928.                     (N)ewsletter from main menu.
  929.  
  930. NEWUSER.ASC and NEWUSER.ANS:
  931.                     Screen  sent   to  new   users,  before  the  new  user
  932.                     induction.   Use this  to explain  your board's  scope,
  933.                     policies,  or  other  information  that  might  not  be
  934.                     apparent to  a new user, as well as a first welcome for
  935.                     new callers.
  936.  
  937. PASSWORD.ASC and PASSWORD.ANS:
  938.                     Screen explaining  how to  select a password. Displayed
  939.                     to new users during logon, and to established users who
  940.                     want to change their password.
  941.  
  942. SEARCH.ASC and SEARCH.ANS:
  943.                     Screen which explains to callers how to use the various
  944.                     message searching options.
  945.  
  946. SENDMSG.ASC and SENDMSG.ANS:
  947.                     Screen which  explains how  to send  a message, and the
  948.                     addressing options available.
  949.  
  950. SHOWANSI.ASC:
  951.                     Screen  which  demonstrates  ANSI  graphics  to  assist
  952.                     callers in  deciding whether  or  not  they  want  ANSI
  953.                     enabled.   Notice that there is no .ANS counterpart for
  954.                     this display  file.   This is  because the  ANSI screen
  955.                     (for demonstration  to user)  is sent  to all  callers,
  956.                     regardless of current ANSI choice.  Otherwise, non-ANSI
  957.                     callers could  never see  the ANSI demonstration.  This
  958.                     is the  only WR-BBS  screen file  with ANSI colors in a
  959.                     .ASC file.
  960.  
  961. SYSOP.ASC and SYSOP.ANS:
  962.                     This is  the screen file for the SysOp menu.  The SysOp
  963.                     menu is  accessed (only  by the SysOp) by selecting "Z"
  964.                     from the  Main  Menu.    It  lists  the  administration
  965.                     options available to the SysOp while on line.
  966.  
  967. THANKYOU.ASC and THANKYOU.ANS:
  968.                     This screen  is sent after each successful upload.  The
  969.                     text thanks the caller for taking the time to upload to
  970.                     the board.
  971.  
  972. UPLDFAIL.ASC and UPLDFAIL.ANS:
  973.                     This screen  is  displayed  if  a  caller  attempts  an
  974.                     upload, but  for some  reason the  file is not received
  975.                     (or is  incomplete, or  aborted by  the  caller).    It
  976.                     describes the  problem so  that the  caller understands
  977.                     the upload was not successful.
  978.  
  979.  
  980. UPLOAD.ASC and UPLOAD.ANS:
  981.                     After a  caller selects (U)pload from the Files Library
  982.                     menu, this  screen is displayed. It can be used to give
  983.                     instructions on  what types of files are acceptable, or
  984.                     to  remind   the  caller   that  their   time  will  be
  985.                     compensated, etc.
  986.  
  987. WELCOME?.ASC and WELCOME?.ANS:
  988.                     This optional screen file is sent to callers after they
  989.                     have  completed   their  logon   (name,  password,  and
  990.                     statistics check).  There can  be up  to  26  WELCOME?.
  991.                     files, one  for each class of service (COS). The letter
  992.                     following "WELCOME"  in the  filename designates  which
  993.                     COS the  screen is  sent to.  For example, WELCOMEA.ASC
  994.                     and WELCOMEA.ANS will be shown to callers with a class-
  995.                     of-service of  "A", while WELCOMEB.ASC and WELCOMEB.ANS
  996.                     would be  shown to  callers with  a class-of-service of
  997.                     "B", and  so  on.    See  section  11  for  a  detailed
  998.                     description of  the class-of-service configuration.  If
  999.                     there is  no welcome file for a particular COS, callers
  1000.                     in that COS do not see any welcome file.
  1001.  
  1002. You do  NOT need  to have  a statement  in your  CONFIG.SYS to load an ANSI
  1003. driver for WR-BBS.  WR-BBS has its own built-in ANSI interpreter.
  1004.  
  1005.           SPECIAL CHARACTERS THAT CAN BE IMBEDDED IN SCREEN FILES
  1006.  
  1007. WR-BBS will  recognize a  special character, the tilde (~) in screen files.
  1008. When this  character is  found in  a WR-BBS screen file, WR-BBS will take a
  1009. specific action  during the  display of  the screen.  The special action is
  1010. based on the character that immediately follows the tilde.
  1011.                             ----------- -------
  1012.  
  1013. CHARACTER
  1014. FOLLOWING
  1015.   TILDE      ACTION
  1016. ---------    ----------------------------------------------------------
  1017.     P        Generates a pause in the screen display
  1018.  
  1019.  
  1020.  
  1021.  
  1022. NOTE:   When you  include a pause command (~P) in a screen file, the output
  1023. pauses exactly  at that  point.   Therefore, you  should only  put a  pause
  1024. command as  the first  character of  a line.   To  paginate a  long display
  1025. screen, place  a pause command (~P) as the first character of every 22nd or
  1026. 23rd line.   Do  not put  the pause command on its own line, or else a line
  1027. feed will  occur after  the pause  (when WR-BBS reads the imbedded carriage
  1028. return from  the file).   Instead, make the pause command a "prefix" to the
  1029. line on which you want the pause to occur.  When a screen file is paused by
  1030. an imbedded pause command, the caller sees the prompt:
  1031.  
  1032.           (PAUSED)  (Q)uit  (N)onstop  (M)ore:
  1033.  
  1034. If the caller presses <ENTER>, it is assumed that they want to continue, so
  1035. the <ENTER>  key is treated the same as if the caller pressed "M" for more.
  1036. If the  caller chooses  (N)onstop, any  additional pause  commands in  that
  1037. screen file are ignored, and the rest of the screen file is streamed to the
  1038. caller, non-stop.  If the caller presses (Q)uit, the screen file display is
  1039. aborted, and  WR-BBS presents  the next  action or screen to the caller.  A
  1040. few WR-BBS  screens (such as GREETING, PASSWORD) cannot be aborted with the
  1041. (Q)uit command  from a  caller, but  can be  paused with  an imbedded pause
  1042. command (~P).   If  the caller  selects (Q)  in a  "non-quittable" (system)
  1043. screen, output will continue as if they selected (M)ore.
  1044.  
  1045. ===========================================================================
  1046. SECTION 8                                                            WR.BAT
  1047. ===========================================================================
  1048.  
  1049. It is  possible to start WR-BBS by simply typing WRBBS at the command line,
  1050. from the  home path  directory.   This is  NOT recommended,  however.   For
  1051. maximum flexibility  and control, the use of a batch file to control WR-BBS
  1052. is recommended.  A sample batch file, WR.BAT, is included with the original
  1053. distribution of  WR-BBS files.  You can use this file without modification,
  1054. or edit  it for your site-specific requirements.  Using WR.BAT provides the
  1055. following advantages:
  1056.  
  1057.           - If  WR-BBS operation  is disrupted  due  to  an  error  in  the
  1058.           program, the  batch file  will detect  the  DOS  errorlevel,  and
  1059.           automatically restart  WR-BBS, without  human intervention. (If a
  1060.           batch file  is not  used, the  system would  just return  to  the
  1061.           command line,  and not  answer any  calls until a human restarted
  1062.           WR-BBS).
  1063.           
  1064.           - If  you schedule events which require termination (and restart)
  1065.           of WR-BBS,  the BBS  will not  restart properly unless WR-BBS was
  1066.           originally started  under the  control of  a batch  file such  as
  1067.           WR.BAT. See section 17 for more information on events.
  1068.  
  1069. A  freeware   utility  file,  WDELAY.EXE,  is  included  with  your  WR-BBS
  1070. distribution package.   This  utility is called by WR.BAT when it starts to
  1071. load WR-BBS.  This utility simply affords the local operator an opportunity
  1072. to cancel the batch file by pressing ESC within the designated time.  Press
  1073. <ENTER> when  prompted to  jump past  WDELAY.  If no key is pressed, WDELAY
  1074. will start  WR-BBS after  the  delay,  which  allows  unattended  restarts.
  1075. Unlike WR-BBS, the WDELAY utility requires no registration, and can be used
  1076. indefinitely with no obligation.
  1077.  
  1078. WR.BAT is  based on  the fact  that WR-BBS  sets a different DOS ERRORLEVEL
  1079. depending on  the reason  it terminated.   Based on that errorlevel, WR.BAT
  1080. branches to  the appropriate  label in the batch file, and either re-starts
  1081. WR-BBS, runs  a "terminate  event", or  simply ends.   (See  section 17 for
  1082. information on  terminate events). The possible errorlevels returned by WR-
  1083. BBS are:
  1084.  
  1085. 0            Normal termination (requested by local console)
  1086. 1 to 17      Runtime error - operating system or file access error
  1087. 84 to 99     Scheduled termination for configured external event
  1088. 100 to 106   Runtime error - file or I/O error
  1089. 150 to 162   Runtime error - critical file access error
  1090. 200 to 214   Runtime error - critical program or logic error
  1091. 254 to 255   Runtime error - internal WR-BBS debug halt
  1092.  
  1093. WR-BBS does  its own  error handling,  and is able to recover automatically
  1094. (without terminating) from most minor runtime errors.  Any fatal errors are
  1095. captured by WR-BBS's critical error handler, and logged in the activity log
  1096. (if possible)  prior to WR-BBS terminating with the appropriate errorlevel.
  1097. A screen  is also displayed by WR-BBS when a critical error occurs, showing
  1098. the error  code and  process ID.   If a caller is connected when a critical
  1099. error occurs,  a message  is transmitted to the caller, explaining that the
  1100. system is going off-line briefly, and requesting that they call back.
  1101.  
  1102. Critical errors  are rare, and are usually due to external influences, such
  1103. as corrupted memory, or database files being deleted or damaged.  But, with
  1104. WR-BBS's built-in  critical error  handler, you  should never experience an
  1105. error that simply crashes the program with no clue as to what happened.
  1106.  
  1107. ===========================================================================
  1108. SECTION 9                                                ... THE FIRST TIME
  1109. ===========================================================================
  1110.  
  1111. Before you  run WR-BBS  for the  first time, you must create an initialized
  1112. set of  database files  for WR-BBS to work with.  This is an extremely easy
  1113. process, and  takes less than a minute.  Initialized (empty) database files
  1114. are not  provided with  the WR-BBS  distribution package,  since WR-BBS  is
  1115. capable of  creating an  initialized database  on request.   To  create the
  1116. initialized database, do the following:
  1117.  
  1118.           1.   Change directories  to make the WR-BBS home path the current
  1119.                     directory.
  1120.           
  1121.           2.  At the command line, type WRBBS /INIT and then press <ENTER>.
  1122.           
  1123.           3.  Answer the confirmation by typing OKAY and pressing <ENTER>.
  1124.  
  1125. WR-BBS will then create the following files:
  1126.  
  1127. WRBBSUSR.DAT
  1128.           This is  the database  file where  user (caller)  information  is
  1129.           stored.
  1130.  
  1131. WRBBSMSG.DAT
  1132.           This file  contains the  message system  database (but not actual
  1133.           messages), with  pointers to  the files  that contain  the actual
  1134.           message text.
  1135.  
  1136. WRBBSLIB.DAT
  1137.           The Files  Library database  is stored  in this  file.   All file
  1138.           descriptions and attributes are written to this file.
  1139.  
  1140. WRBBSPEG.DAT
  1141.           This file  stores statistical  (peg count) data about your WR-BBS
  1142.           system, including  the number  of calls  answered, calls answered
  1143.           today, new messages, etc.
  1144.  
  1145. WRBBSDBF.DAT
  1146.           This file  is used  to record  the status of the WR-BBS database.
  1147.           The W-TREE  database manager  uses this  file to determine if the
  1148.           system was  shut down  in an  orderly manner.  If it was not, the
  1149.           indices  are  rebuilt  automatically  the  next  time  WR-BBS  is
  1150.           restarted.
  1151.  
  1152. After you  have created  the  initialized  database,  WR-BBS  is  ready  to
  1153. configure.   The database  files that were created will have a minimal size
  1154. (0 bytes for some of the files).
  1155.  
  1156. IMPORTANT:   If you  have a  working database,  and request that the WR-BBS
  1157. database be initialized, all data in the database will be PERMANENTLY LOST.
  1158. Do not  request initialization  unless you  are installing  WR-BBS for  the
  1159. first time, or you wish to start over again with an empty database.
  1160.  
  1161. After creating  an initialized  database, WR-BBS  automatically creates the
  1162. user index  file, WRBBSUSR.IDX,  and a new activity log file, WRBBSLOG.TXT,
  1163. when WR-BBS is started up.
  1164.  
  1165. With an  initialized database,  your WR-BBS  system will  have exactly zero
  1166. users on  file, no  files or  messages in  the database, and no statistics.
  1167. After you  finish configuring  WR-BBS, start  WR-BBS by typing WR, wait for
  1168. the startup  process to complete, and then log on locally by pressing ALT-L
  1169. from the main screen (or the screen saver screen).  The first person to log
  1170. onto your  new WR-BBS  system should  be the  SysOp  whose  name  you  have
  1171. configured in WRCONFIG.SYS (see section 10).
  1172.  
  1173. ===========================================================================
  1174. SECTION 10                                               CONFIGURING WR-BBS
  1175. ===========================================================================
  1176.  
  1177. Almost all  of the  configuration required to make WR-BBS operation is done
  1178. by editing  the text  file WRCONFIG.SYS.   This file must exist in the home
  1179. path directory.   When you edit this file, use an ASCII-capable editor or a
  1180. word processor  that can  save documents in straight ASCII format.  If your
  1181. word processor  inserts proprietary  control  codes,  WR-BBS  will  try  to
  1182. interpret these  codes as  configuration instructions,  and this will cause
  1183. unpredictable and  undesirable results.  The copy of WRCONFIG.SYS that came
  1184. with your  new WR-BBS  distribution has  SAMPLE  values  for  many  of  the
  1185. configuration items.   You  will need to change some of these to match your
  1186. implementation and your specific system.
  1187.  
  1188. WR-BBS will  attempt to  interpret any  line that  appears in WRCONFIG.SYS,
  1189. unless that  line starts with a single apostrophe (') or the keyword "REM",
  1190. which is  short for remark.  Any lines that start with one of those special
  1191. identifiers is  ignored by  WR-BBS.  This allows you to insert comments and
  1192. notes as  you make  changes.   It also  allows  you  to  remove  a  complex
  1193. configuration entry  from WR-BBS's  view by prefixing a REM in front of the
  1194. line.   This is  helpful if you want to experiment with different settings,
  1195. without worrying  about losing  complex configuration  strings that you may
  1196. have entered.
  1197.  
  1198. Each of  the entries that can be included in WRCONFIG.SYS is listed in this
  1199. section.   Some of the entries are not required unless you are implementing
  1200. special optional features.  For example, if you do not wish to have "doors"
  1201. on your  WR-BBS system,  you can  omit  (or  remark  out)  all  entries  in
  1202. WRCONFIG.SYS that  start with  "DOOR=".   Some entries  in WRCONFIG.SYS are
  1203. required, however, for proper operation.  These include the BBSNAME, SYSOP,
  1204. and other site-specific details.
  1205.  
  1206. ---------------------------------------------------------------------------
  1207. ANSWERCOMMAND=                                                  DEFAULT=ATA
  1208.  
  1209. This entry  allows you  to configure WR-BBS for the command that your modem
  1210. requires to  answer a  call.   99% of all modems use the command "ATA".  If
  1211. your modem uses "ATA" for an answer command, you can omit this line, as the
  1212. default is also "ATA".  If your modem requires some other command to answer
  1213. a ringing  call, you  must insert  the appropriate string in this entry for
  1214. proper operation.
  1215.  
  1216. IMPORTANT:   This entry  is for the command your modem requires to make the
  1217. modem go  off-hook under  software (WR-BBS) control in response to ringing.
  1218. This is  not the  same as  the "auto  answer" command.   Do  NOT insert  an
  1219. automatic answer  command string  in this entry (such as ATS0=1), or WR-BBS
  1220. will not answer calls properly.  This applies regardless of the RINGDETECT=
  1221. entry you may be using.
  1222.  
  1223. ---------------------------------------------------------------------------
  1224. BADDOOR=                                                          DEFAULT=N
  1225.  
  1226. If you  do not  plan to have "doors" or you do not have an error-correcting
  1227. modem, then  this entry  does not  apply, and  you can  skip it,  using the
  1228. default setting of "N".  This configuration item is to correct a deficiency
  1229. in some  door programs  that do not properly read the DOOR.SYS file.  These
  1230. incorrectly-written door  programs read  the caller's  connect  speed  from
  1231. DOOR.SYS rather  than the  DTE speed,  and then  they (incorrectly)  adjust
  1232. their own baud rate to the caller's speed, which is wrong.  The caller gets
  1233. screenfuls of  garbage, and  has to drop carrier, since they cannot issue a
  1234. quit command.  This phenomena only occurs if you have one of these BAD DOOR
  1235. programs, and  are using an error-correcting modem with the DTE locked at a
  1236. speed which  is different  than the  caller's.  If you make BADDOOR=Y, then
  1237. WR-BBS fools  the bad door by inserting the DTE speed in DOOR.SYS where the
  1238. caller's speed would normally appear.
  1239.  
  1240. Setting BADDOOR=Y is a workaround to compensate for sloppy programming that
  1241. was done  by the  door program  author.  Complain to the author of the door
  1242. program to  get the problem fixed.  This setting affects ALL doors that are
  1243. configured on  WR-BBS.   If you have a bad door among several "good" doors,
  1244. you really have only three choices:
  1245.  
  1246.           1.  Compromise all doors by setting BADDOOR=Y.  Some doors (which
  1247.                     WERE written  properly) may  then malfunction,  because
  1248.                     DOOR.SYS will then be wrong.
  1249.           
  1250.           2.   Stop  using  the  bad  software  (the  poorly  written  door
  1251.                     program).
  1252.           
  1253.           3.  Modify a batch file and/or use a door manager to fool the bad
  1254.                     door into working properly.
  1255.  
  1256. ---------------------------------------------------------------------------
  1257. BBSNAME=                                                         NO DEFAULT
  1258.  
  1259. Insert your  board's name.   Up  to 48  characters can  be used.  The value
  1260. assigned to   BBSNAME  appears at various points during a caller's session,
  1261. and on the default screen while WR-BBS is waiting for calls.  If you do not
  1262. configure this  item, WR-BBS will display "BBS NAME NOT CONFIGURED" in lieu
  1263. of a  BBS name.   The  BBSNAME entry is displayed in the appropriate places
  1264. whether or not you have registered your copy of WR-BBS.
  1265.  
  1266. ---------------------------------------------------------------------------
  1267. BULLETINS=                                                      DEFAULT: 32
  1268.  
  1269. This must  be a  number from  0 to  999, indicating the number of bulletins
  1270. that you  expect to  have available.   WR-BBS will search the home path (or
  1271. directory designated  in SCREENDIR=)  for this number of bulletin files, so
  1272. this value  should represent the real number of bulletins you have to avoid
  1273. needless DOS  file searching.    Although  it  is  possible  to  have,  say
  1274. BULLETINS=500, and  only four actual bulletins, callers will have to endure
  1275. a delay while WR-BBS searches for the non-existent 496 bulletins.
  1276.  
  1277. ---------------------------------------------------------------------------
  1278. BUSYLINE=                                                        DEFAULT: N
  1279.  
  1280. This entry  determines whether  or not WR-BBS makes the telephone line busy
  1281. when it  cannot process  calls.  Enter Y for yes, or N for no.  If your WR-
  1282. BBS system has its own exclusive telephone line, you may wish to enter Y so
  1283. that the  line is busy during events, while recycling, during local logons,
  1284. and when  WR-BBS is  terminated.   If  WR-BBS  shares  a  phone  line  with
  1285. something (or  someone) else, you must enter N to avoid disabling the phone
  1286. line needlessly for other devices or people.
  1287.  
  1288. ---------------------------------------------------------------------------
  1289. CARRIERWAIT=                                                     DEFAULT=45
  1290.  
  1291. This setting  tells WR-BBS  how long (in seconds) to wait for carrier after
  1292. answering an  incoming call.   Valid  values are  15 to  255 seconds.    45
  1293. seconds is  a good  setting for most installations.  Carrier usually occurs
  1294. within 25 seconds of a call ringing - if not, it's usually not a data call,
  1295. and waiting  much longer than 45 seconds will just waste time.  If you have
  1296. an error-correcting  modem that  goes through  lengthy summit  negotiations
  1297. before reporting  that carrier  is present,  you may  have to lengthen this
  1298. value to 60 or more seconds.
  1299.  
  1300. ---------------------------------------------------------------------------
  1301. CGA_STOP_SNOW=                                                   DEFAULT: N
  1302.  
  1303. For 99%  of all  installations, enter  N for  no on  this line.    If  your
  1304. computer has  an older CGA display, and you see "specks" on the screen when
  1305. WR-BBS is  writing to  the display,  then entering Y for yes here will stop
  1306. the "snow", but slow down screen updates.
  1307.  
  1308. ---------------------------------------------------------------------------
  1309. CONNECT300=                                                DEFAULT: CONNECT
  1310.  
  1311. Enter the  verbose result  code that  your modem  sends  when  a  300  baud
  1312. connection is established.  Most modems send "CONNECT".  If your modem does
  1313. not support  300 baud connections, then make CONNECT300=IMPOSSIBLE to avoid
  1314. any possibility of line noise being mis-interpreted.
  1315.  
  1316. ---------------------------------------------------------------------------
  1317. CONNECT1200=                                          DEFAULT: CONNECT 1200
  1318.  
  1319. Enter the  verbose result  code that  your modem  sends when  a  1200  baud
  1320. connection is established.  Most modems send "CONNECT 1200".  If your modem
  1321. does not support 1200 baud connections, then make CONNECT1200=IMPOSSIBLE to
  1322. avoid any possibility of line noise being mis-interpreted.
  1323.  
  1324. ---------------------------------------------------------------------------
  1325. CONNECT2400=                                          DEFAULT: CONNECT 2400
  1326.  
  1327. Enter the  verbose result  code that  your modem  sends when  a  2400  baud
  1328. connection is established.  Most modems send "CONNECT 2400".  If your modem
  1329. does not support 2400 baud connections, then make CONNECT2400=IMPOSSIBLE to
  1330. avoid any possibility of line noise being mis-interpreted.
  1331.  
  1332. ---------------------------------------------------------------------------
  1333. CONNECT4800=                                          DEFAULT: CONNECT 4800
  1334.  
  1335. Enter the  verbose result  code that  your modem  sends when  a  4800  baud
  1336. connection is established.  Most modems send "CONNECT 4800".  If your modem
  1337. does not support 4800 baud connections, then make CONNECT4800=IMPOSSIBLE to
  1338. avoid any possibility of line noise being mis-interpreted.
  1339.  
  1340. ---------------------------------------------------------------------------
  1341. CONNECT9600=                                          DEFAULT: CONNECT 9600
  1342.  
  1343. Enter the  verbose result  code that  your modem  sends when  a  9600  baud
  1344. connection is established.  Most modems send "CONNECT 9600".  If your modem
  1345. does not support 9600 baud connections, then make CONNECT9600=IMPOSSIBLE to
  1346. avoid any possibility of line noise being mis-interpreted.
  1347.  
  1348. ---------------------------------------------------------------------------
  1349. CONNECT12000=                                        DEFAULT: CONNECT 12000
  1350.  
  1351. Enter the  verbose result  code that  your modem  sends when  a 12000  baud
  1352. connection is established.  Most modems send "CONNECT 12000". If your modem
  1353. does not  support 12000 baud connections, then make CONNECT12000=IMPOSSIBLE
  1354. to avoid any possibility of line noise being mis-interpreted.
  1355.  
  1356.  
  1357. ---------------------------------------------------------------------------
  1358. CONNECT14400=                                        DEFAULT: CONNECT 14400
  1359.  
  1360. Enter the  verbose result  code that  your modem  sends when  a 14400  baud
  1361. connection is  established.   Most modems  send "CONNECT 14400" or "CONNECT
  1362. 144".   If your  modem does  not support  14400 baud connections, then make
  1363. CONNECT14400=IMPOSSIBLE to  avoid any  possibility of line noise being mis-
  1364. interpreted.
  1365.  
  1366. ---------------------------------------------------------------------------
  1367. CONNECT19200=                                        DEFAULT: CONNECT 19200
  1368.  
  1369. Enter the  verbose result  code that  your modem  sends when  a 19200  baud
  1370. connection is established.  Most modems send "CONNECT 19200" or "HICONNECT"
  1371. If  your   modem  does  not  support  19200  baud  connections,  then  make
  1372. CONNECT19200=IMPOSSIBLE to  avoid any  possibility of line noise being mis-
  1373. interpreted.
  1374.  
  1375. ---------------------------------------------------------------------------
  1376. CONNECT38400=                                        DEFAULT: CONNECT 38400
  1377.  
  1378. Enter the  verbose result  code that  your modem  sends when  a 38400  baud
  1379. connection is established.  Most modems send "CONNECT 38400". If your modem
  1380. does not  support 38400 baud connections, then make CONNECT38400=IMPOSSIBLE
  1381. to avoid any possibility of line noise being mis-interpreted.
  1382.  
  1383. ---------------------------------------------------------------------------
  1384. CONNECT57600=                                        DEFAULT: CONNECT 57600
  1385.  
  1386. Enter the  verbose result  code that  your modem  sends when  a 57600  baud
  1387. connection is established.  Most modems send "CONNECT 57600". If your modem
  1388. does not  support 57600 baud connections, then make CONNECT57600=IMPOSSIBLE
  1389. to avoid any possibility of line noise being mis-interpreted.
  1390.  
  1391. ---------------------------------------------------------------------------
  1392. CTSFLOW=                                                          DEFAULT=N
  1393.  
  1394. This setting controls whether WR-BBS should pay attention to the CTS (Clear
  1395. To Send)  flow control  signal from the modem.  If your modem has a maximum
  1396. speed of  2400 baud  or less, it is unlikely that the modem will ever lower
  1397. its CTS signal (which tells the computer to stop sending data).
  1398.  
  1399. On the  other hand,  high-speed modems, especially error-correcting modems,
  1400. need CTS control because they typically work with a fixed (locked) DTE baud
  1401. rate, regardless  of the  caller's connect speed.  If a caller is connected
  1402. at 2400 baud and the DTE speed is locked at 38,400, it doesn't take long to
  1403. fill the modem's buffer.  The modem then drops the CTS line, signalling the
  1404. computer to stop sending data for a while.  When the modem's buffer empties
  1405. out (as  the buffered  data is transmitted to the caller), the modem raises
  1406. the CTS  line, signalling  the computer  that it  can  again  accept  data.
  1407. Without such  a signalling  means, the modem would overflow, and data would
  1408. be lost.
  1409.  
  1410. Why not  just set  WR-BBS to always observe CTS with CTSFLOW=Y ?  There can
  1411. be some  drawbacks to  using CTS flow control, so you will probably want to
  1412. leave CTSFLOW=N  unless you  really need  CTS flow  control.   The constant
  1413. interrupt  servicing   necessary  to  watch  CTS  causes  slightly  reduced
  1414. throughput.   If your  DTE is  locked at  a high  speed (such  as 14,400 or
  1415. higher), this  reduction in output is negligible.  At slower speeds, it may
  1416. be noticeable.   The  interrupt overhead  may also  make some  disk caching
  1417. utilities slow  down, especially  if they  use exTENDed  memory instead  of
  1418. exPANDed memory.
  1419.  
  1420. ---------------------------------------------------------------------------
  1421. DOOR=                                                           NO DEFAULTS
  1422.  
  1423. See section 13 for complete details on setting up doors.
  1424.  
  1425. ---------------------------------------------------------------------------
  1426. ERRORFREE=                                                       NO DEFAULT
  1427.  
  1428. Enter the  result code  that your modem sends when an error free connection
  1429. is established.   Most  error-correcting modems  send  "/MNP",  "/ARQ",  or
  1430. "/REL" to  signify such  a connection.    If  you  do  not  have  an  error
  1431. correcting modem,  then make ERRORFREE=IMPOSSIBLE to avoid false error-free
  1432. detection if  random matching  characters should  appear.   This string  is
  1433. usually a suffix to the regular connect string, such as "CONNECT 2400 /ARQ"
  1434. or "CONNECT 9600 /REL".
  1435.  
  1436. ---------------------------------------------------------------------------
  1437. EVENT=                                                                  N/A
  1438.  
  1439. See section 17 for detailed instructions on configuring events.
  1440.  
  1441. ---------------------------------------------------------------------------
  1442. FILEAREA=                                                        NO DEFAULT
  1443.  
  1444. There can  be up  to 26  file areas  defined.   Each one is identified by a
  1445. unique letter  (from A  to Z)  and a  descriptive name.    The  file  areas
  1446. comprise your  "library" of  files available  for callers  to download.  By
  1447. having (up  to 26)  distinct file  areas, you can group your files by type.
  1448. For example, area "A" might be files that are of interest to Windows users,
  1449. while area "B" contains Games, with Recipes in area "C", and so on.  Having
  1450. a well-thought-out  file library  will make your WR-BBS easy for callers to
  1451. navigate, and ensure that files get the visibility you wish them to have.
  1452.  
  1453. It is not mandatory that any file areas be defined, but callers will not be
  1454. able to  upload (or  download) files unless at least one file area has been
  1455. defined.   This might  be satisfactory if you want to run a "messages only"
  1456. type of  BBS.   Otherwise, you will probably want to configure at least two
  1457. file areas;   One  area to  receive new  uploads, and at least one area for
  1458. callers to download files from.
  1459.  
  1460. To define  a file  area,  enter  a  line  in  WRCONFIG.SYS  containing  the
  1461. following, with each item separated by a pipe (|) symbol:
  1462.  
  1463.      1.  The string FILEAREA=
  1464.      
  1465.      2.  The unique letter (A to Z) you wish to assign to that file area.
  1466.      
  1467.      3.   A descriptive name for that file area, such as "Astronomy Files",
  1468.           "Games for  Children", or  "DOS Utility Files".  This descriptive
  1469.           name can be up to 48 characters in length.
  1470.      
  1471.      4.   The full  path to  that file  area.   This must  be a  valid  DOS
  1472.           directory. This  directory (only)  will be  searched when  a file
  1473.           download is  requested by  a caller.  If the  specified directory
  1474.           does not exist, an error will occur when WR-BBS is started.
  1475.      
  1476.      5.   A string  of letters  (A to Z), representing the class-of-service
  1477.           required for a caller to access the files in that area.  To allow
  1478.           all classes-of-service  to access  this are,  the string would be
  1479.           "ABCDEFGHIJKLMNOPQRSTUVWXYZ".     See  section  11  for  detailed
  1480.           information on setting up classes of service.
  1481.  
  1482. Some examples:
  1483.  
  1484.      FILEAREA=A|Flight Simulator Utilities|C:\WR-BBS\FSUTILS|ABCDE
  1485.  
  1486. In the  above example,  a  file  area  designated  as  "A"  references  the
  1487. directory C:\FSUTILS.   The  name that  will be  displayed  to  callers  is
  1488. "Flight Simulator  Utilities".   Callers having a class-of-service of A, B,
  1489. C, D,  or E  can access  this file  area.   Callers with  other classes-of-
  1490. service (such as "Z") will not be able to access this file area.
  1491.  
  1492.      FILEAREA=B|Games|D:\GAMES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  1493.  
  1494. In the  above example, file area "B" references the directory D:\GAMES. Any
  1495. caller can  access this  area, as all 26 class-of-service letters have been
  1496. included in the COS string.
  1497.  
  1498.      FILEAREA=C|SysOp Only!|C:\FORSYSOP|Q
  1499.  
  1500. In  the   above  example,  file  area  "C"  references  a  directory  named
  1501. C:\FORSYSOP.   This is  a private file area.  In this example, the SysOp is
  1502. the only  caller with  a class-of-service of "Q", therefore, only the SysOp
  1503. can access this file area.
  1504.  
  1505. Careful planning  of your  classes of  service will  allow you  to offer  a
  1506. flexible file  library to  your callers,  restricting unauthorized  callers
  1507. from files  that they  should not  access.  Section 11, which describes the
  1508. class-of-service concept, is recommended reading for new WR-BBS SysOps.
  1509.  
  1510. The entries  that you  put in WRCONFIG.SYS to configure your file areas may
  1511. exceed the  normal line  size of your editor.  The directory path can be up
  1512. to 64  characters, and the descriptive name can be up to 48 characters.  If
  1513. your entry exceeds 79 characters, it is important that your editor keep the
  1514. long entry  as ONE  line, with  no imbedded  carriage  return  or  linefeed
  1515. characters.  The entire entry cannot exceed 128 characters.
  1516.  
  1517. ---------------------------------------------------------------------------
  1518. GOODBYE_DELAY=                                                    DEFAULT=1
  1519.  
  1520. This parameter  controls how  long WR-BBS  waits, after sending the GOODBYE
  1521. screen, before  actually dropping  the call  (lowering DTR).  If you do not
  1522. have an  error correcting  modem,  the  default  setting  of  1  second  is
  1523. adequate.   If you  have an  error correcting modem, the caller may not see
  1524. the entire  GOODBYE screen unless you extend the number of seconds that WR-
  1525. BBS waits  before it  drops carrier after sending the GOODBYE screen.  This
  1526. is because  it only  takes a  few milliseconds  for WR-BBS  to transmit the
  1527. GOODBYE screen (at very high baud rates typical of error-correcting modems)
  1528. but the  remote caller's  communications program will usually stop updating
  1529. the caller's  screen as  soon as  their modem detects that WR-BBS has ended
  1530. the call.   Valid  values for  this setting  are from  1 to  9 seconds.  It
  1531. cannot be set to 0 seconds.
  1532.  
  1533. ---------------------------------------------------------------------------
  1534. INBUFFER=                                                      DEFAULT=2048
  1535.  
  1536. This is an optional entry.  It determines the size of the serial I/O buffer
  1537. that WR-BBS  sets up in memory.  2048 is usually a good value to use.  This
  1538. means that  WR-BBS's communications  port handler  will buffer  up to  2048
  1539. characters until  WR-BBS can  process them.   Usually,  no more  than a few
  1540. characters are ever buffered for input.  The buffer can be set to any whole
  1541. number from  128 to  32767.   The higher  this number,  the more  memory is
  1542. needed by  WR-BBS (a  32767 character  buffer takes 32K of additional ram).
  1543. If this  value is  too low,  a buffer  over-run may occur.  An over-run, at
  1544. best, means  that some input characters will be lost.  In severe cases, WR-
  1545. BBS could crash due to heap corruption.
  1546.  
  1547. If you  use a  multi-tasking environment,  such as  DESQview, an  OS/2  DOS
  1548. Window, or Microsoft Windows, it is possible that WR-BBS may not get enough
  1549. processor cycles  to unload  the buffer  in a  timely  fashion  if  another
  1550. process is bogging the system down.  If this is likely, increase the buffer
  1551. size slightly (try 8000).
  1552.  
  1553. Unless you  run multiple  applications under  a multi-tasker,  or you  have
  1554. problems with  buffer over-runs,  its best not to change INBUFFER= from the
  1555. default setting.
  1556.  
  1557. ---------------------------------------------------------------------------
  1558. INITBAUD=                                                      DEFAULT=2400
  1559.  
  1560. This value  is the  speed (baud rate) at which you modem expects to receive
  1561. off-line initialization  commands.   For most (but not all) modems, this is
  1562. the same  as their  maximum operating  speed.   When WR-BBS  starts up, and
  1563. after each  call, initialization commands are sent to the modem.  The value
  1564. you define  for INITBAUD= determines the speed used by WR-BBS to send those
  1565. commands.   For most  error-correcting modems, including those that support
  1566. v32, v42,  MNP, and  ARQ transmission,  the INITBAUD= setting should be the
  1567. modem's "link"  speed.   This is  the speed  at which  the  modem  normally
  1568. communicates with  the computer  (and vice  versa).   Most error-correcting
  1569. modems use  one speed  for all computer-to-modem and modem-to-computer data
  1570. transmissions, regardless  of the  actual connect  speed.   For  additional
  1571. information, see the entry for LOCKDTE=.
  1572.  
  1573. ---------------------------------------------------------------------------
  1574. LICENSEE=                                                        NO DEFAULT
  1575.  
  1576. If you  have registered  your copy  of WR-BBS,  enter your  registered name
  1577. after  the   equal  sign,  exactly  as  it  appears  on  your  registration
  1578. confirmation.   You must  also  enter  the  special  registration  code  in
  1579. conjunction with  the REGISTRATION=  parameter  (described  later  in  this
  1580. section.   Make sure  both are entered correctly.  Having correct values in
  1581. the LICENSEE=  and REGISTRATION=  lines will  stop WR-BBS  from  displaying
  1582. "EVALUATION ONLY"  when callers log on and log off.  Your registration name
  1583. will be displayed instead.
  1584.  
  1585. ---------------------------------------------------------------------------
  1586. LOCKDTE=                                                          DEFAULT=N
  1587.  
  1588. This is  for error-correcting  modems.   If  you  do  not  have  an  error-
  1589. correcting modem,  set LOCKDTE=N,  or omit  this  line  from  WRCONFIG.SYS.
  1590. Error-correcting modems  can be identified by the transmission methods that
  1591. they support, typically V.32bis, V.42bis, MNP, "reliable", and ARQ.  Almost
  1592. all modems  that work at speeds above 4800 baud are of the error-correcting
  1593. type.
  1594.  
  1595. Error-correcting modems, with few exceptions, use "locked DTE".  This means
  1596. that the data stream from the computer to the modem, and vice-versa, always
  1597. occurs at  a fixed  speed (such  as 19,200, 38,400, or 57,600).  DTE stands
  1598. for Data  Terminal Equipment,  which is what your computer is to the modem.
  1599. This constant DTE speed is locked at the same value at all times regardless
  1600. of the  caller's actual  connect rate.   For  example, if  you are using an
  1601. error-correcting modem,  and have  the DTE  locked at  14,400, WR-BBS  will
  1602. communicate with  the modem  at 14,400  regardless of  who is on line or at
  1603. what speed.   Even  a 300  baud connection will result in computer-to-modem
  1604. and  modem-to-computer  communications  at  14,400  baud;  the  modem  will
  1605. automatically adjust  its interface with the caller to their connected baud
  1606. rate.   Also, all  modem commands  (including initialization  and recycling
  1607. commands) are sent at the locked DTE speed.
  1608.  
  1609. If  you   are  using   an  error-correcting  modem,  consult  your  modem's
  1610. documentation for  the proper locked DTE speed to use, and set INITBAUD= to
  1611. this value.  Also set LOCKDTE=Y.
  1612.  
  1613. NOTE:   If LOCKDTE=Y  and your modem is not an error-correcting type (or is
  1614. not set up properly), callers will receive garbage unless they happen to be
  1615. calling at the modem's locked DTE speed.
  1616.  
  1617. ---------------------------------------------------------------------------
  1618. LOGONALARM=                                                       DEFAULT=N
  1619.  
  1620. Enter Y  for yes  if you  want WR-BBS to alert you to each logon with a one
  1621. second warble tone.  When N is set, no tone is heard when a logon occurs.
  1622.  
  1623. ---------------------------------------------------------------------------
  1624. MAXBAUD=                                                       DEFAULT=2400
  1625.  
  1626. Enter the maximum speed (baud) at which your modem is capable of operating.
  1627. Depending on  your modem's  make and  model, this  may  be  different  from
  1628. INITBAUD=.   For error-correcting  modems, enter  the modem's DTE or "link"
  1629. speed.
  1630.  
  1631. ---------------------------------------------------------------------------
  1632. MINSPACE=                                                         DEFAULT=1
  1633.  
  1634. This entry  tells WR-BBS  the minimum number of megabytes that must be free
  1635. on the  hard drive  in order for any uploads to be accepted.  When a caller
  1636. chooses the  (U)pload option  from the  files menu,  WR-BBS checks the free
  1637. space on the drive.  If the number of megabytes available is less that what
  1638. you have  specified in  MINSPACE=, then the caller is told that there is no
  1639. space available  for the  upload.   This allows  you to keep a "cushion" of
  1640. free space  to allow  the data files to grow, etc.  If MINSPACE=0, then WR-
  1641. BBS will  allow an  upload regardless  of the space available on the drive.
  1642. When checking  free space, WR-BBS uses the drive letter that appears in the
  1643. home path  environment variable  that you have set in DOS.  For example, if
  1644. your home  path is  C:\WR-BBS, and you have set MINSPACE=5, then there must
  1645. be at  least 5  megabytes of free space available on C: or else WR-BBS will
  1646. not allow any uploads.
  1647.  
  1648. ---------------------------------------------------------------------------
  1649. MODEM_INIT_ONE=                         DEFAULT=AT &C1 &D2 S7=45 V1 X4 S0=0
  1650.  and
  1651. MODEM_INIT_TWO=                                                  NO DEFAULT
  1652.  
  1653. WR-BBS supports  two modem initialization strings.  Each one can have up to
  1654. forty (40)  characters after  the equal  sign.   Most modems  cannot accept
  1655. commands with  more  than  40  characters  in  the  string.    Some  WR-BBS
  1656. installations (particularly  those  with  high-speed,  highly  configurable
  1657. modems) may require more than forty characters to initialize the modem.  An
  1658. additional line,  MODEM_INIT_TWO=, is  recognized in  WRCONFIG.SYS, and can
  1659. contain up  to forty  additional characters  of modem  initialization data.
  1660. Thus, WR-BBS  can handle  up to  eighty characters for modem initialization
  1661. purposes. You  do not  have to use both strings if your initialization data
  1662. will  fit   into  one  string.    If  you  have  no  data  for  the  second
  1663. initialization string, omit the MODEM_INIT_TWO= entry from WRCONFIG.SYS.
  1664.  
  1665. The modem  initialization string  is sent  to the modem whenever one of the
  1666. following conditions occur:
  1667.  
  1668.           1. WR-BBS is first started.
  1669.           2. A call ends, and WR-BBS recycles to prepare for the next call.
  1670.           3. The SysOp manually recycles the modem with ALT-R.
  1671.  
  1672. For proper  operation, some form of initialization data must be sent to the
  1673. modem in  each of the situations above.  Consult your modem's documentation
  1674. for the  appropriate information  to include in this string.  If you have a
  1675. Hayes <tm>  modem, or  a modem  that recognizes the Hayes <tm> command set,
  1676. the initialization  string should  start with  "AT".   The commands  listed
  1677. below are  for example  purposes, and  assume the use of a Hayes <tm> modem
  1678. with no  error-correction (such  as a  SmartModem 2400 <tm>). They apply to
  1679. most modems  that recognize the same commands as Hayes <tm> modems, and are
  1680. necessary for  proper, secure  operation of  WR-BBS.   You may  need to add
  1681. additional commands  for your particular installation, so consider these as
  1682. a bare minimum:
  1683.  
  1684.           Command    Meaning
  1685.           -------    -------
  1686.           E1         Echo commands back to computer
  1687.           M0         Modem's speaker off at all times
  1688.           Q0         Send result codes
  1689.           V1         Result codes are words instead of numbers
  1690.           X4         Detailed result codes, including connect speed
  1691.           &C1        Track the presence or absence of carrier detect
  1692.           &D2        React to loss of DTR by dropping carrier
  1693.           &R0        CTS follows RTS, not assumed to be on
  1694.           S0=0       Disable auto answer (see RINGDETECT=)
  1695.           S2=128     Disable escape sequence
  1696.  
  1697.  
  1698.           The "E1"  command is  necessary so that WR-BBS will its own input
  1699.                     to the  modem echoed back.  If WR-BBS does not see this
  1700.                     echo, the initialization diagnostics will not work.
  1701.           
  1702.           The "M0"  command is  not essential, but if you omit it, you will
  1703.                     hear the progress of incoming calls until the handshake
  1704.                     is finished.   This can be annoying, especially if your
  1705.                     WR-BBS runs twenty four hours a day.
  1706.           
  1707.           The "Q0"  command is  required, as  WR-BBS will  not be  able  to
  1708.                     determine  a  caller's  connect  speed  without  result
  1709.                     codes.
  1710.           
  1711.           The "V1"  command is  also required,  so that  WR-BBS is supplied
  1712.                     with verbose result codes instead of numbers.
  1713.           
  1714.           The "X4"  command makes  the result  codes even  more verbose, so
  1715.                     that WR-BBS  can determine  the speed at which a caller
  1716.                     connects, as  well as the modem's reports of any errors
  1717.                     during handshaking.
  1718.           
  1719.           The "&C1"  command is  extremely important and essential.  WR-BBS
  1720.                     will  NOT   work   without   this   command   in   your
  1721.                     initialization string.   This  command makes  the modem
  1722.                     report the  true state  of  the  carrier  detect.    If
  1723.                     omitted, the  modem (by  default) will  usually  report
  1724.                     that carrier  is present  all of the time.  WR-BBS will
  1725.                     never finish  the startup sequence if this is the case,
  1726.                     as it  will assume  that a caller is connected, and try
  1727.                     (up to  30 times)  to drop  carrier, when  there was no
  1728.                     carrier in the first place.
  1729.           
  1730.           The "&D2"  command is  equally important,  as this  instructs the
  1731.                     modem to  drop a  call if  WR-BBS lowers  the DTR (Data
  1732.                     Terminal Ready)  line.   Without this  command  in  the
  1733.                     initialization string,  WR-BBS  will  not  be  able  to
  1734.                     disconnect calls properly.
  1735.           
  1736.           The "S0=0"  command is  REQUIRED unless  your modem is one of the
  1737.                     extremely  few  modems  that  do  not  report  ringing.
  1738.                     99.999999% of all internal modems and 99.999998% of all
  1739.                     external modems  properly report ringing via pin 22. If
  1740.                     yours does  not, it  is either  very old, or defective.
  1741.                     You can  configure WR-BBS  to work  with the  modem  in
  1742.                     auto-answer mode  until you  obtain a  modem that works
  1743.                     properly.   See RINGDETECT=  for more  details.  Unless
  1744.                     you need  to compromise  your WR-BBS  to  adapt  to  an
  1745.                     incompatible modem,  do NOT  set your  modem  for  auto
  1746.                     answer, either  via an  initialization command  or  via
  1747.                     switches on the modem.
  1748.           
  1749.           The "S2=128" command disables the escape sequence that is used to
  1750.                     gain control  of your  modem when  it is on line.  This
  1751.                     sequence, by default, is "+++".  A hacker could arrange
  1752.                     his system  to send  this sequence  and take control of
  1753.                     your modem.   I  won't explain how, but it can be done.
  1754.                     By setting  S2=128, the escape sequence is disabled, so
  1755.                     nobody can play games with your modem.
  1756.  
  1757.  
  1758. ---------------------------------------------------------------------------
  1759. MODEMDELAY=                                                     DEFAULT=110
  1760.  
  1761. This setting  allows you  to compensate  for a "slow" or exceptionally fast
  1762. modem.   Allowable values  are from 55 to 11000, and represent milliseconds
  1763. of delay  between each  command character  transmitted to  the modem.  Note
  1764. that this  character "pacing"  has no  connection with the modem's behavior
  1765. when connected  to a  caller -  all MODEMDELAY  does is  slow down  command
  1766. strings being  sent to  the modem  by WR-BBS.   If  your modem "misses" the
  1767. "ATA" command  (and ignores  ringing calls),  try increasing the MODEMDELAY
  1768. setting a  bit at  a time.   The same is true if the status line shows that
  1769. your modem  is not  acknowledging initialization  commands  (or  there  are
  1770. characters missing  in the  echoed result).   You  should never have to set
  1771. MODEMDELAY higher  than 250.   If your modem is super-efficient, you may be
  1772. able to  trim MODEMDELAY  down to  55,  reducing  the  initialization  time
  1773. slightly.
  1774.  
  1775. If you  are running  an error  correcting modem  at very  high  DTE  speeds
  1776. (57,600 and above), you will probably need to set MODEMDELAY to 110 or more
  1777. to get reliable command acceptance.
  1778.  
  1779. ---------------------------------------------------------------------------
  1780. NEWUSER_ADDRESS1=                                                 DEFAULT=Y
  1781.  
  1782. If Y  is specified,  then WR-BBS  will ask  each new user for their address
  1783. during the  new user  questionnaire.  If set to N, then new callers are not
  1784. prompted for their address, but can optionally enter it if desired.
  1785.  
  1786. ---------------------------------------------------------------------------
  1787. NEWUSER_ADDRESS2=                                                 DEFAULT=Y
  1788.  
  1789. If set to Y, then new callers, while completing the new user questionnaire,
  1790. will be  prompted to (but not required to) enter their "auxiliary" address.
  1791. An auxiliary  address is any part of their street address that does not fit
  1792. on the  first line  (NEWUSER_ADDRESS1=), such as their apartment number. If
  1793. set to  N, new  callers are  not prompted for an auxiliary address, but can
  1794. enter one if so desired.
  1795.  
  1796. ---------------------------------------------------------------------------
  1797. NEWUSER_CITY=                                                     DEFAULT=Y
  1798.  
  1799. During the  new user  questionnaire, new  callers will be required to enter
  1800. their city  if set  to Y.  If you do not wish to require this response, set
  1801. this to N.
  1802.  
  1803. ---------------------------------------------------------------------------
  1804. NEWUSER_COS=                                                      DEFAULT=A
  1805.  
  1806. This entry  defines which  class-of-service (COS)  is initially assigned to
  1807. new callers  after they complete the new user questionnaire.  It can be any
  1808. letter from  A to  Z.   By convention,  "A" is  the lowest letter, and thus
  1809. would have  the lowest access privileges, but you don't have to follow this
  1810. convention, since  any  COS  can  be  given  any  privileges  you  wish  to
  1811. configure.  By specifying a "restricted" class-of-service for NEWUSER_COS=,
  1812. you can ensure that new users do not have excessive access rights until you
  1813. have verified their questionnaire responses.  After verification, you would
  1814. (as the  SysOp) go  into the  SysOp menu, select (U)ser administration, and
  1815. assign a  "better" class-of-service to the verified caller.  See section 11
  1816. for a detailed explanation of the WR-BBS flexible class-of-service system.
  1817.  
  1818. ---------------------------------------------------------------------------
  1819. NEWUSER_DATAPHONE=                                                DEFAULT=N
  1820.  
  1821. This item  determines whether  new callers,  while answering  the new  user
  1822. questionnaire, are  required to  enter a "data" or "business" phone number.
  1823. In some environments, such as a private "hobby" BBS, it is not realistic to
  1824. expect that  every caller  would have  a data  or business  phone number to
  1825. give, so  you will probably want to set this item to N.  If you are running
  1826. a more  specialized BBS,  where, for  example, you  need the fax number for
  1827. every caller,  you can  set this  to Y  to  prompt  them  for  a  non-voice
  1828. telephone number.
  1829.  
  1830. ---------------------------------------------------------------------------
  1831. NEWUSER_VOICEPHONE=                                               DEFAULT=Y
  1832.  
  1833. Setting this  item to  Y makes WR-BBS ask for a voice telephone number from
  1834. each new  caller who completes the new user questionnaire.  Unlike a "data"
  1835. phone, you  can be  assured that  every caller  has at  least a voice phone
  1836. number to supply (how are they calling your board?), and most SysOps demand
  1837. this information  for verification  purposes.   If NEWUSER_VOICEPHONE=Y and
  1838. VALIDATEPHONE=Y, the  new user  will  not  be  allowed  to  enter  a  bogus
  1839. telephone number such as 555-1234 or 800-XXX-XXXX.  They can still dream up
  1840. a fake  number which  satisfies the  VALIDATEPHONE routine,  but if they do
  1841. enter such  a fake  number, you  can lock them out with a clear conscience,
  1842. knowing that  they intentionally entered a bogus number, and then responded
  1843. that the number was indeed accurate.  See the VALIDATEPHONE description for
  1844. more details.
  1845.  
  1846. ---------------------------------------------------------------------------
  1847. NEWUSER_ZIPCODE=                                                  DEFAULT=Y
  1848.  
  1849. If set  to Y,  new callers who indicate that they live in the United States
  1850. will be  required to  enter a  Zip code which complies with the USA format.
  1851. Either a  five or nine digit zip code complies.  New callers who are not US
  1852. residents (based on their answer to the "country" question) are not held to
  1853. this requirement,  as their  postal codes  may have  one of  many different
  1854. formats, or  be non-existent.   If set to N, no prompting for a Zip code is
  1855. done, but it can be optionally entered by the caller.
  1856.  
  1857. ---------------------------------------------------------------------------
  1858. PARITY=                                                           DEFAULT=N
  1859.  
  1860. The default  setting of  "N" for  no parity  checking should not be changed
  1861. except for  unusual situations.  Other valid settings are "E" for even, "O"
  1862. for odd,  "M" for  mark and  "S" for  space.  Note that ANSI graphics, file
  1863. transfer protocols, and most doors will not work consistently unless parity
  1864. checking is disabled by setting it to "N".
  1865.  
  1866. ---------------------------------------------------------------------------
  1867. PORTNUMBER=                                                       DEFAULT=1
  1868.  
  1869. Use this  setting to  tell WR-BBS  which communications  port your modem is
  1870. connected to.   Standard  port configurations  for COM1  and COM2 are fully
  1871. supported by  WR-BBS.   For COM1, the line would read PORTNUMBER=1, and for
  1872. COM2, the  line would  read PORTNUMBER=2.   There  is only  partial support
  1873. designed into  WR-BBS for  ports other than COM1 and COM2, and operation on
  1874. non-standard ports  is not  assured in  this version of WR-BBS.  The IBM PC
  1875. <tm> and  AT <tm>  in their most generic form do not support communications
  1876. ports other  than COM1  and COM2.   If  you wish  to use a non-standard COM
  1877. port, it  must have  an IRQ  that respectively  matches the  supported  COM
  1878. ports.  The IRQ mapping is:
  1879.  
  1880.           COM1         IRQ4
  1881.           COM2         IRQ3
  1882.           COM3         IRQ4
  1883.           COM4         IRQ3
  1884.  
  1885. ---------------------------------------------------------------------------
  1886. REGISTRATION=
  1887.  
  1888. After you  register your copy of WR-BBS, you will receive a "license code",
  1889. which is  used in  conjunction with  the REGISTRATION= entry to tell WR-BBS
  1890. that you have a registered copy.
  1891.  
  1892. ---------------------------------------------------------------------------
  1893. RINGDETECT=                                                       DEFAULT=1
  1894.  
  1895. WR-BBS supports  two kinds  of ring detection.  In 99.99% of all cases, you
  1896. should use  ring detection  type 1,  which is  the default.  Ring detection
  1897. type 1  uses your  modem's hardware  ring signal line (pin 22 on the RS-232
  1898. cable).   This pin  goes high  when the  phone line  rings.  It is the most
  1899. reliable method.  If you use ring detection type 1 (which you should), make
  1900. certain that you include S0=0 somewhere in your modem initialization string
  1901. (see MODEM_INIT_1=).  This turns off the auto answer feature on your modem.
  1902. As with  most BBS  products, WR-BBS waits for ringing to be reported by the
  1903. modem, then  issues a  command to  make the modem answer.  If your modem is
  1904. set for  auto-answering with  ring detection type 1, nobody will be able to
  1905. establish a  connection and  weird things will happen. Also, make sure that
  1906. your modem's DIP switches are set to disable auto-answer.
  1907.  
  1908. There are  a (very)  few modems  which do not report ringing via pin 22. If
  1909. you have  one of  these modems,  you will  have to  set RINGDETECT=2.    If
  1910. RINGDETECT=2, you  MUST have  auto-answer enabled by including S0=1 in your
  1911. modem initialization string.
  1912.  
  1913. Use RINGDETECT=2  only if  your modem  cannot support the default method of
  1914. ring detection.   If  you have  any doors  configured, be  aware that using
  1915. RINGDETECT=2 allows  a small  (but real) window of opportunity for a hacker
  1916. to get  into the  system.  If a caller drops carrier while in a door, and a
  1917. new call comes in before the door has exited to WR-BBS, the new caller will
  1918. be able to essentially continue the session of the previous caller.  If the
  1919. previous caller  was the  SysOp or  a user  with a liberal class-of-service
  1920. that allows  access to  the operating  system, a  hacker who obtains access
  1921. this  way  can  do  grave  damage,  including  formatting  your  drives  or
  1922. introducing a  virus.   This potential security breach is not a flaw in WR-
  1923. BBS, but a short coming in some door programs that do not immediately react
  1924. to lost carrier by exiting to the calling program.  Although the likelihood
  1925. of such  an occurrence  is rare, it is one more reason to use RINGDETECT=1,
  1926. which all  modern modems  (that are  connected properly)  support.   If you
  1927. modem does  not support  pin 22  ring reporting, and you wish to use doors,
  1928. you should consider getting a better modem before using RINGDETECT=2.
  1929.  
  1930. ---------------------------------------------------------------------------
  1931. SCREENDIR=                                      DEFAULT (SAME AS HOME PATH)
  1932.  
  1933. This is  an optional  entry.  WR-BBS uses a number of "screen" files, which
  1934. have extensions  of .ASC and .ANS.  These files are sent to callers to make
  1935. the corresponding screens display on the caller's system.  Depending on how
  1936. sophisticated you  make your  WR-BBS application,  you could  have anywhere
  1937. from 50 to a few hundred screen files.
  1938.  
  1939. To avoid  cluttering up  the home path directory, you can use SCREENDIR= to
  1940. specify a  separate directory  where the  screen files  are  stored.    For
  1941. example, if your home path is:
  1942.  
  1943.           D:\WR-BBS
  1944.           
  1945.                and you want to keep the screen files in
  1946.           
  1947.           D:\WR-BBS\SCREENS
  1948.  
  1949. Then you  would  configure  WR-BBS  by  inserting  the  following  line  in
  1950. WRCONFIG.SYS:
  1951.  
  1952.           SCREENDIR=D:\WR-BBS\SCREENS
  1953.  
  1954. If you do not wish to have a separate screen directory (you don't have to),
  1955. then omit  the SCREENDIR= entry, or REMark it out. If you use this item, it
  1956. must point  to a  valid directory  where all .ASC and .ANS files for WR-BBS
  1957. are stored.
  1958.  
  1959. ---------------------------------------------------------------------------
  1960. SCREENSAVER=                                                      DEFAULT=Y
  1961.  
  1962. Unless  you  tell  WR-BBS  otherwise,  its  uses  a  screen-saving  display
  1963. procedure whenever  it is  idle.   Since most  WR-BBS boards  are  operated
  1964. twenty four  hours a day, the screen saver prevents the WR-BBS screen image
  1965. from becoming  burned into  the monitor's  picture tube.   When  the screen
  1966. saver is  in effect, a three or four line abbreviated display is located at
  1967. random places on the screen, using random colors and intensities.  If there
  1968. are messages waiting for the SysOp, the fourth line flashes "New message(s)
  1969. for SysOp".   If the SysOp has no messages waiting, there is no fourth line
  1970. in the  screen saver  display.   The top  line of  the screen-saver display
  1971. shows the current date and time, and the WR-BBS "up" symbol.
  1972.  
  1973. When the  screen saver  is in effect, pressing ESCape will return WR-BBS to
  1974. the full-screen  display mode.   Whenever  any activity  occurs (such as an
  1975. incoming call, event, or local administration), the screen saver reverts to
  1976. a full screen display automatically.
  1977.  
  1978. If you set SCREENSAVER=N, WR-BBS will always display in full-screen mode.
  1979.  
  1980. ---------------------------------------------------------------------------
  1981. SEEKBAUD=                                                   DEFAULT=MAXBAUD
  1982.  
  1983. This entry  is not  required unless you have one of the very few modems out
  1984. there that seeks "up" to negotiate a connect speed.  Most modems attempt to
  1985. seek "down" from their highest possible speed until the remote modem agrees
  1986. to a  connect speed.  Thus a 2400 baud modem would answer at 2400 baud, and
  1987. step down to 1200, and then 300 until the far modem handshakes.  A few rare
  1988. modems start at their lowest speed, and "sweep" all possible connect speeds
  1989. before completing  their negotiation.   If  you have  one of  these strange
  1990. modems, set  SEEKBAUD to  the speed  at which  the modem  should begin  its
  1991. negotiations.
  1992.  
  1993. ---------------------------------------------------------------------------
  1994. SERIALNUMBER=
  1995.  
  1996. After you register your copy of WR-BBS, you will receive a serial number.
  1997. Enter it with the SERIALNUMBER keyword in WRCONFIG.SYS.
  1998.  
  1999. ---------------------------------------------------------------------------
  2000. SHELLSWAP=                                                        DEFAULT=Y
  2001.  
  2002. When WR-BBS runs some type of external program (door, event, shell to DOS),
  2003. it can swap out more than 90% of its memory image, leaving less than 18K of
  2004. itself in memory.  This leaves lots of memory for the program that is being
  2005. run by WR-BBS.
  2006.  
  2007. If your  system has  at least  550K  free  exPANDed  memory  (not  exTENDed
  2008. memory), then  WR-BBS will swap to EMS memory.  This swap occurs as quickly
  2009. as your  computer can  move the  WR-BBS image from one section of memory to
  2010. another -  within milliseconds.   If  your system has insufficient exPANDed
  2011. memory to  complete the  swap, WR-BBS  instead swaps  to a  disk file named
  2012. WRBBS.$$$ located in the home path.
  2013.  
  2014. If you  have a  slow computer  with a slow drive, and insufficient exPANDed
  2015. memory, the  time it  takes to swap the WR-BBS image to disk can be several
  2016. seconds.   Callers may  perceive this delay as your board being sluggish to
  2017. respond (WR-BBS  will  not  accept  caller  input  while  the  swapping  is
  2018. happening).   In this case, you might wish to set SHELLSWAP=N.  WR-BBS will
  2019. not swap  its image  when configured that way.  The drawback is that WR-BBS
  2020. will continue  to occupy  its original  memory when the external program is
  2021. invoked, and the external program may not have sufficient memory available.
  2022.  
  2023. If there  is insufficient  exPANDed memory  and WR-BBS  swaps to  disk,  it
  2024. automatically deletes  the file  WRBBS.$$$ when it swaps back.  Do not edit
  2025. or delete  the swap  file when  shelled out, or WR-BBS will fail to reload,
  2026. and a system reboot will be required.
  2027.  
  2028.  
  2029.  
  2030. ---------------------------------------------------------------------------
  2031. SYSOP=                                                           NO DEFAULT
  2032.  
  2033. You must  put a line in WRCONFIG.SYS to indicate who is the SysOp.  Use the
  2034. exact name  that you  will log  onto your WR-BBS with.  When the SysOp logs
  2035. on, special  privileges are  allowed for  that person  who is named in this
  2036. entry.  (This person must also log on to the board and establish an account
  2037. like any other caller - see section 12).
  2038.  
  2039. Example:
  2040.  
  2041.           SYSOP=WILSON ROGERS
  2042.  
  2043. ---------------------------------------------------------------------------
  2044. TIMELIMIT=                                       DEFAULT (60 FOR ALL COS'S)
  2045.  
  2046. You should  have one  TIMELIMIT= entry  for each class of service that your
  2047. WR-BBS utilizes.   There can be up to twenty six (26) lines in WRCONFIG.SYS
  2048. which begin  with TIMELIMIT=, defining the caller's time limit (in minutes)
  2049. for each of twenty six possible classes of service.  The proper syntax is:
  2050.  
  2051.           TIMELIMIT=?|XXX
  2052.           
  2053.           Where "?"  is replaced  with a class of service letter (from A to
  2054.                     Z), and  "XXX" is  replaced with the amount of time you
  2055.                     wish to  allow for  callers  who  have  that  class  of
  2056.                     service.   For example,  if you want to give callers in
  2057.                     class of  service "A"  sixty minutes,  and give  ninety
  2058.                     minutes  to  callers  in  class  of  service  "B",  the
  2059.                     following two  lines would  correctly  accomplish  that
  2060.                     purpose:
  2061.           
  2062.           TIMELIMIT=A|60
  2063.           TIMELIMIT=B|90
  2064.  
  2065. Valid values  for TIMELIMIT are 1 through 999.  When assigning time limits,
  2066. keep in  mind the types of users who will be in each class of service.  You
  2067. may want  to give a few special users a lot of time, perhaps as much as 180
  2068. minutes (three  hours).   New users would be given significantly less time,
  2069. perhaps 30 or 45 minutes.  A typical "regular" user might be given 60 to 90
  2070. minutes.
  2071.  
  2072. The TIMELIMIT  value is a daily limit for each user in the designated class
  2073. of service.   For  example, if  class of service A allowed sixty minutes, a
  2074. user with  that class  of service could use the system for sixty minutes in
  2075. one session, or two sessions of thirty minutes each, or six sessions of ten
  2076. minutes, and  so on.   WR-BBS checks the caller's time remaining at regular
  2077. intervals, and  if the  caller exceeds  the allotted  time, the  caller  is
  2078. logged off  the system  after a seeing a message explaining that their time
  2079. is used  up for  the day.   Each  caller's time limit is reset to the limit
  2080. (defined in  their class  of service)  on their  next logon  after midnight
  2081. passes.   Thus, a  user who consumes their entire time limit in one day can
  2082. call back  at 12:01  AM on  the next  day and  start with  a new daily time
  2083. allotment.
  2084.  
  2085.  
  2086. ---------------------------------------------------------------------------
  2087. UPLOADAREA=                                                      NO DEFAULT
  2088.  
  2089. When callers  upload files  to your  WR-BBS system,  they will be sent to a
  2090. particular directory.   This  directory must be one of the directories that
  2091. you have  defined as  a WR-BBS  file area with the "FILEAREA=" statement in
  2092. WRCONFIG.SYS.   UPLOADAREA=   must be  followed by  a letter  (from A to Z)
  2093. which represents  a defined  file area.   If you want uploads to go to file
  2094. area "G", you would make the following entry in WRCONFIG.SYS:
  2095.  
  2096.           UPLOADAREA=G
  2097.  
  2098. There can  be only one upload area defined in WRCONFIG.SYS.  If you attempt
  2099. to define  more than  one upload area, WR-BBS uses the last definition that
  2100. it finds.
  2101.  
  2102. Here is a real-life example of how UPLOADAREA is used.  In this example,
  2103. you have already defined five file areas, as shown below.  You want uploads
  2104. to go to the fifth area, file area "E":
  2105.  
  2106.      FILEAREA=A|OS/2 Programs|C:\OS2PROGS|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2107.      FILEAREA=B|Games|D:\GAMES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2108.      FILEAREA=C|Windows Files|C:\WINFILES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2109.      FILEAREA=D|DOS Utilities|D:\DOSUTILS|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2110.      FILEAREA=E|Uploads|C:\NEWFILES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2111.      
  2112. The correct UPLOADAREA entry for this sitution would be:
  2113.  
  2114.           UPLOADAREA=E
  2115.  
  2116. The following are examples of INCORRECT use of UPLOADAREA, based on the
  2117. example above:
  2118.  
  2119.           UPLOADAREA=M
  2120.                      ^
  2121.                      This file area was not defined.
  2122.           
  2123.           
  2124.           UPLOADAREA=C:\NEWFILES
  2125.                      ^^^^^^^^^^^
  2126.                      Only one letter, representing a defined file area,
  2127.                      is allowed.
  2128.  
  2129.  
  2130. If you do not define an UPLOADAREA, WR-BBS will not start, but will instead
  2131. report "BAD  U/L DIRECTORY - CANNOT CHDIR TO ..." during startup.  The same
  2132. is true  if you have properly defined an UPLOADAREA, but the directory does
  2133. not actually exist.
  2134.  
  2135.  
  2136. ---------------------------------------------------------------------------
  2137. UPLOADBONUS=                                                      DEFAULT=2
  2138.  
  2139. This item  tells WR-BBS  how much  time to  give callers  as a  "bonus" for
  2140. uploading files.   Valid values are from 0 to 255.  When a caller completes
  2141. an upload,  WR-BBS checks  the file  size, and  determines  the  number  of
  2142. kilobytes (KB).   That  value (KB)  is divided by 10 (to determine how many
  2143. "tens" of kilobytes were received), and then multiplied by the value set in
  2144. UPLOADBONUS to  determine the  number of  minutes to compensate the caller.
  2145. For example,  if the  caller uploads  a 100  KB file,  then  10  "tens"  of
  2146. kilobytes were  received, so  if the UPLOADBONUS was set to "2", the caller
  2147. would receive 20 minutes compensation.
  2148.  
  2149. If you  don't want  to  give  callers  any  bonus  time  for  uploads,  set
  2150. UPLOADBONUS to  "0".   WR-BBS will never allow any caller to have more than
  2151. 999 minutes  of time remaining, so if you use a high value for UPLOADBONUS,
  2152. such as  100, callers who upload large files will have their time increased
  2153. to 999 minutes, but not beyond.
  2154.  
  2155. If the  caller aborts  the upload,  or for  any reason the upload fails, no
  2156. compensation is granted to the caller.
  2157.  
  2158.  
  2159. ===========================================================================
  2160. SECTION 11                             CLASS OF SERVICE (COS) CONFIGURATION
  2161. ===========================================================================
  2162.  
  2163. In any  good bulletin  board  application,  security  and  flexibility  are
  2164. afforded by  multiple "access  levels".   WR-BBS is no exception, and up to
  2165. twenty six  access levels can be defined.  If you have configured other BBS
  2166. applications previously,  you may be familiar with the term "access level",
  2167. also referred to as "permission level".
  2168.  
  2169. TIP:   The term  "Class of  Service" (or "COS") in WR-BBS has virtually the
  2170.       same meaning  as "access  level" on other BBS products, but it is not
  2171.       incremental.   For example, in many BBS products, if a feature has an
  2172.       access level  set to "10", callers with access level 10 or higher can
  2173.       access that  feature.   In WR-BBS, each COS allowed that feature must
  2174.       be explicitly enabled.  COS "B" is not "higher" than COS "A".
  2175.  
  2176. In WR-BBS,  access to  various features is controlled by the caller's Class
  2177. Of Service  (abbreviated  as  COS).    You  can  custom-configure  the  COS
  2178. assignments to  give the  appropriate access  to the callers (or caller) in
  2179. each class  of service.   With COS definitions, you can control such things
  2180. as:
  2181.  
  2182.           - Number of minutes permitted per day.
  2183.           - Which file areas can be accessed.
  2184.           - Whether or not downloads are allowed.
  2185.           - Whether or not uploads are allowed.
  2186.           - Which file transfer protocols can be used.
  2187.           - Which doors can be accessed.
  2188.           - Whether or not a caller can page the SysOp.
  2189.  
  2190. When planning  your COS  assignments, you  should first  group callers into
  2191. specific types of callers.  For example, your breakdown of caller types may
  2192. look something like this:
  2193.  
  2194.           - New users who have not been verified yet.
  2195.           - Regular users who have normal access.
  2196.           - Special users who have more extensive access.
  2197.           - The SysOp.
  2198.  
  2199. In the  above example,  you might  assign COS  "A" to new users, COS "B" to
  2200. regular users, COS "C" to special users, and COS "D" to the SysOp.  You can
  2201. assign any  COS  you  wish  to  any  caller  -  the  COS  letters  are  not
  2202. incremental.   In other  words, COS "X" does not necessarily grant a higher
  2203. level of access that COS "B" - unless you configure both COS's to make this
  2204. possible.  By convention, however, you may wish to make the COS assignments
  2205. appear to  be incremental  - with  COS "A"  being having  the lowest access
  2206. rights, and  COS "Z"  having the  highest. This makes it easier for you and
  2207. your callers to relate to the COS letters after they have been assigned.
  2208.  
  2209. The SysOp  should (but  is not  required to)  have an  exclusive  class  of
  2210. service with  no other  users in it.  This allows you to grant unrestricted
  2211. access to yourself for administration and testing.
  2212.  
  2213. Valid class  of service  letters are  "A" to "Z".  Permissions, privileges,
  2214. and access  rights are  granted by "allowing" various classes of service to
  2215. access various individual parts of WR-BBS, via entries in WRCONFIG.SYS.  In
  2216. other words,  there is  no "chart" of which classes of service can do what,
  2217. but instead,  the COS's  allowed to use individual features are assigned to
  2218. those features.   This  provides the ultimate in flexibility.  For example,
  2219. rather than  "allowing" COS  "A" to  access file area "C", you would do the
  2220. inverse - configuring file area "C" to be accessed by callers with COS "A".
  2221.  
  2222. Class of  service's are  assigned to features in WRCONFIG.SYS.  See section
  2223. 10 for  more information on configuring WRCONFIG.SYS.  By default, no class
  2224. of service  can access  any  of  the  COS-controlled  features,  until  you
  2225. designate  otherwise   in  WRCONFIG.SYS.     Thoughtful   planning   before
  2226. implementing the  COS permissions  will allow  for growth  and  flexibility
  2227. during the  life of your WR-BBS system.  Should you wish to make changes to
  2228. the COS configuration, you can edit WRCONFIG.SYS at any time.
  2229.  
  2230. ===========================================================================
  2231. SECTION 12                                                        THE SYSOP
  2232. ===========================================================================
  2233. On any  BBS or host system, the SysOp is the most significant user, as well
  2234. as the user with the most access privileges. WR-BBS follows this convention
  2235. by providing  special access  for the  one user  who is  designated as  the
  2236. SysOp. A  SysOp must  be defined  from proper  operation and administrative
  2237. access on WR-BBS.
  2238.  
  2239. The SysOp  is quite  literally the  System Operator.  Since you are reading
  2240. this, you  will probably  be the SysOp of your WR-BBS system.  You will set
  2241. up the  system, maintain its databases and files, and be a point of contact
  2242. for all  other users  who  want  to  communicate  questions,  problems,  or
  2243. comments about your WR-BBS installation.
  2244.  
  2245. Anyone given  SysOp privileges  should be  a responsible person who is well
  2246. known to the principal operator of the WR-BBS system.  Since the SysOp  can
  2247. be  given   permission  to  drop  to  the  operating  system,  allowing  an
  2248. irresponsible person to be a SysOp means that the irresponsible SysOp could
  2249. not only  destroy your  WR-BBS databases  and files,  but they  could  even
  2250. format or un-partition your computer's drives!
  2251.  
  2252. In order to gain administrative access to the User, File Library, and other
  2253. WR-BBS databases,  the SysOp  must log  on to the WR-BBS system (locally or
  2254. remotely), just as any other user would.  Then, at the Main Menu, the SysOp
  2255. presses the  "Z" key, (a hidden command available only to the SysOp), which
  2256. presents the SysOp menu.
  2257.  
  2258. When configuring  your WR-BBS  system  for  the  first  time,  it  is  very
  2259. important to  designate a SysOp.  This is accomplished with an entry in the
  2260. WR-BBS configuration  file, named  WRCONFIG.SYS.   This configuration  file
  2261. must have an entry that reads:
  2262.  
  2263.           SYSOP=JOHN DOE
  2264.  
  2265. Where "JOHN DOE" would be replaced by the SysOp's actual name.  See section
  2266. 10 for  more information  on how  to configure the file WRCONFIG.SYS.  Only
  2267. one SysOp is configured in the file WRCONFIG.SYS.
  2268.  
  2269. LOGGING ON:
  2270.  
  2271. There are two ways to log on to your WR-BBS system - via the modem and from
  2272. the local  console (your  computer's keyboard).   Obviously, WR-BBS must be
  2273. loaded and  running before  it will  accept any  calls, whether from remote
  2274. users (via  modem) or from local users (via the console). Also, WR-BBS must
  2275. be "ready for calls".  That is, it can not be executing an event, preparing
  2276. to execute  and event,  recycling the  modem (just  after a previous call),
  2277. shelled to  DOS, or  doing anything  other than waiting for calls (which is
  2278. the default condition).
  2279.  
  2280. To log  on via  the modem, simply place a modem call from another system to
  2281. the telephone  number which  is attached to the modem used by WR-BBS.  Your
  2282. data call will be answered by WR-BBS, and a session will begin.
  2283.  
  2284. To log  on from  the local console, press ALT-L while the system is waiting
  2285. for calls.   WR-BBS  will then "answer" your logon request, and you will be
  2286. presented with  the same  screens and  most of  the same options that would
  2287. have been available to a user calling in via the modem.  This is a good way
  2288. to "preview"  your WR-BBS  application before introducing it to the public.
  2289. Local logons  also permit  you to  experiment with WR-BBS without having to
  2290. have an  actual modem  attached to  the computer.   (The  COM port  must be
  2291. working, however).
  2292.  
  2293. There are  a few  differences between  a "remote" (via modem) session and a
  2294. "local" (via  console) session.   Since  there is no carrier present at any
  2295. time during  a  local  session,  WR-BBS  is  not  as  quick  to  detect  an
  2296. "abandoned" local  session.  In a remote session, WR-BBS can quickly detect
  2297. loss of carrier (where a user hangs up without a proper logoff) and recycle
  2298. for the next session.  In a local session, the only clue that WR-BBS has to
  2299. tell it  about the  session being  abandoned is  a keyboard timeout.  If no
  2300. keys are  pressed for  5 minutes  (on a  local or  remote session),  WR-BBS
  2301. assumes that  the user  has abandoned,  and ends the session, then recycles
  2302. for the next call.
  2303.  
  2304. Also, the  following WR-BBS  features are not available during a local (via
  2305. console) login:
  2306.  
  2307.           File transfer protocols (uploads and downloads)
  2308.           Chat facility
  2309.           Most doors
  2310.  
  2311. Most of  the sessions  processed by  WR-BBS are  remote sessions, where the
  2312. user, from virtually anywhere in the world, has called via modem.  During a
  2313. remote session, the console (local keyboard) is still "active", so any keys
  2314. pressed on  the local  keyboard will  be interpreted  by WR-BBS  as if  the
  2315. remote caller had pressed them those keys.  This allows the SysOp to assist
  2316. callers by "leading" them to the correct areas of the WR-BBS application by
  2317. pressing the appropriate local keys for them, while they watch.
  2318.  
  2319. Remember that  both keyboards  are active,  so  if  the  remote  caller  is
  2320. entering a  message or responding to a prompt, and both the remote user and
  2321. the SysOp start typing, WR-BBS will see both inputs (which will effectively
  2322. be meaningless).
  2323.  
  2324. *** When logged on remotely (via the modem) as the SysOp, press the "Z" key
  2325. to get  to the SysOp administration menu.  This key is not indicated on the
  2326. main menu screen (and is only available to one caller - the SysOp).
  2327.  
  2328.  
  2329.  
  2330. ===========================================================================
  2331. SECTION 13                                                 SETTING UP DOORS
  2332. ===========================================================================
  2333.  
  2334. Doors are  external programs  (not supplied with WR-BBS) which your callers
  2335. can run via WR-BBS.  Many doors are games, but virtually any program can be
  2336. run as  a door  with the  proper door  manager software. There can be up to
  2337. twenty six (26) entries in WRCONFIG.SYS which begin with the DOOR= keyword.
  2338. If you are not planning to have any doors on your WR-BBS system, you should
  2339. have no DOOR= entries in WRCONFIG.SYS (or remark the entries out).
  2340.  
  2341. Each door  that you  configure will  be referenced  by a letter.  There are
  2342. twenty six  available letters  to use  for this  purpose (A to Z).  You can
  2343. assign these  "reference" letters any way you want, and they do not have to
  2344. be used  in order.  For example, you could have four doors, designated "A",
  2345. "C", "X",  and "Z".   Reference letters cannot be duplicated, so you cannot
  2346. have two  different doors designated as door "A".  For convenience, you may
  2347. wish to  assign the first door the letter "A", give "B" to the second door,
  2348. use "C"  for the third door, and so on.  Letters other than "A" through "Z"
  2349. cannot be  used to designate doors, so there is a limit of twenty six doors
  2350. that can be configured.
  2351.  
  2352. To configure a door for WR-BBS, you need to do four things:
  2353.  
  2354.           1.   Add an entry to WRCONFIG.SYS which assigns a letter (A to Z)
  2355.                     to the  door and  defines which  classes of service may
  2356.                     access that door.
  2357.           
  2358.           2.   Create a  batch file which will control the operation of the
  2359.                     door program  (whether or  not the  door program  needs
  2360.                     such a batch file with other BBS programs).
  2361.           
  2362.           3.   Configure the  door program itself to recognize the DOOR.SYS
  2363.                     standard file  that  WR-BBS  creates  when  a  door  is
  2364.                     selected by a caller.
  2365.           
  2366.           4.   Create or  edit the  DOORMENU screen  files to  reflect  the
  2367.                     letter that  you have assigned to the door, and a brief
  2368.                     description of the door's purpose.
  2369.  
  2370.  
  2371.                    ADDING THE DOOR ENTRY TO WRCONFIG.SYS
  2372.  
  2373. The entry in WRCONFIG.SYS uses the following syntax:
  2374.  
  2375.           DOOR=A|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2376.                ^ ^
  2377.                | Classes of service allowed to access this door
  2378.                |
  2379.                |
  2380.                Letter designation for this door
  2381.  
  2382. For example,  the following line in WRCONFIG.SYS would indicate a door with
  2383. a letter  of "D"  which can  only be  accessed by  callers with  a class of
  2384. service from A to H:
  2385.  
  2386.           DOOR=D|ABCDEFGH
  2387.  
  2388. Notice that there are no spaces in the entry, and a "pipe" symbol separates
  2389. the door's letter from the class of service information.
  2390.  
  2391.                    CREATING THE BATCH FILE FOR THE DOOR
  2392.  
  2393. Every door  on WR-BBS  needs to have its own batch file, whether or not the
  2394. door can  run directly  from the command line.  WR-BBS calls the batch file
  2395. (not the  door program) when a caller selects the door from the Doors Menu.
  2396. There can  be up to twenty six batch files for controlling doors.  The name
  2397. of the  batch file determines which door it controls.  The batch file named
  2398. DOORA.BAT is  called when  door "A"  is selected, and DOORB.BAT is run when
  2399. door "B"  is selected,  and so on. (The fifth letter in the batch file name
  2400. corresponds to the door's letter).
  2401.  
  2402. The batch  file can  be a  simple, one  line entry  which contains the door
  2403. program's name,  or it  can be  a complex,  branching batch  file with many
  2404. lines, depending  on your needs.  Any activity necessary to set the door up
  2405. (such as  copying configuration  files, etc)  should be  done by that batch
  2406. file.   Keep these  restrictions in mind when designing the batch files for
  2407. your door programs:
  2408.  
  2409.           - The batch file(s) must be in the home path.
  2410.           
  2411.           - The door program must not modify or delete the batch file.
  2412.           
  2413.           - Do NOT call WR.BAT or WRBBS.EXE from the door's batch file.
  2414.  
  2415.  
  2416.                               ABOUT DOOR.SYS
  2417.  
  2418. Whenever WR-BBS  runs a  door for  a caller,  it first creates a file named
  2419. DOOR.SYS.   This is  a text  file which  is created  in the  home path.  It
  2420. contains information  about the  board and  the  caller,  which  many  door
  2421. programs can  use to  personalize the  caller's visit  to the door.  I have
  2422. settled on the DOOR.SYS standard because many of the "big" BBS programs now
  2423. use this as a standard, and most competent door programs recognize DOOR.SYS
  2424. when they run.
  2425.  
  2426. If the  door program  you want to use does not recognize the DOOR.SYS file,
  2427. you may  need to  employ a  utility program  which  converts  the  DOOR.SYS
  2428. information to  a different  format (such  as  CALLDATA.TXT).    Most  door
  2429. programs, however,  can be  configured to  recognize DOOR.SYS.  If the door
  2430. program expects  DOOR.SYS to be in a specific directory other than the home
  2431. path, you  can copy the DOOR.SYS file to the desired location with an entry
  2432. in the  door's batch  file.   Some doors do not correctly recognize the DTE
  2433. speed defined  in DOOR.SYS  when an error-correcting modem is used. See the
  2434. WRCONFIG.SYS keyword BADDOOR= for more details.
  2435.  
  2436.                         MODIFYING DOORMENU SCREENS
  2437.  
  2438. The Door  Menu screens  (DOORMENU.ASC and  DOORMENU.ANS) must  be edited or
  2439. created to  reflect the  door(s) that you are offering.  For each door, you
  2440. need to  list  the  door's  letter  (as  defined  in  WRCONFIG.SYS)  and  a
  2441. description of  the door.   There  are no  sample  screens  for  DOORMENU.*
  2442. included with  the WR-BBS  distribution,  as  this  information  is  highly
  2443. variable.  See section 7 for instructions on modifying the menu screens.
  2444.  
  2445.                            USING A DOOR MANAGER
  2446.  
  2447. The use  of a  good "door  manager" utility  is strongly advised. There are
  2448. many  door  programs  available,  and  their  design  quality  ranges  from
  2449. "excellent" to  "terrible".   A door  manager  can  compensate  for  poorly
  2450. written door  programs and  helps to  protect your  board from  damage that
  2451. could occur  when a  poorly designed  door program  is used.  Be aware that
  2452. some door programs do NOT offer the following basic features:
  2453.  
  2454.           - Detection of dropped carrier.
  2455.           
  2456.           - Preventing caller from accessing command line.
  2457.           
  2458.           - Detection of inactivity.
  2459.           
  2460.           - Trapping and handling of errors in door program itself.
  2461.  
  2462. A door manager will help compensate for such weaknesses by exerting its own
  2463. control over  the door  program when  an unexpected event occurs. Without a
  2464. door manager,  if the  door program  does not  detect carrier loss, and the
  2465. caller drops  carrier, your  WR-BBS system  will  be  "hung"  indefinitely.
  2466. Remember that  WR-BBS is  not active  when a door is running, and therefore
  2467. has no control of the door).
  2468.  
  2469. Some door  programs require  a Basic  runtime module  to accompany the .EXE
  2470. file.   I have  found that  this type of door program often has no internal
  2471. error trapping,  and any  error in  the program's  operation results  in  a
  2472. message such as "RUNTIME ERROR AT LINE NUMBER NOLINE".  The board will then
  2473. be hung  unless a  door manager  is used  to control such a poorly designed
  2474. door.
  2475.  
  2476. There are  a number  of door  managers available,  including DOORWAY.   The
  2477. DOORWAY program  is available  from BBS's throughout the country, including
  2478. the WR-BBS  Headquarters BBS.   Most  of them  are shareware offerings - be
  2479. certain to  register them  with their  respective  author.    Door  manager
  2480. programs have  another useful  feature in  that they can convert almost any
  2481. DOS program  into a  door program - you can use this (with caution) to give
  2482. your callers  access to other applications.  If you do this, make sure that
  2483. your caller's  cannot use  the other  application's DOS  shell  feature  to
  2484. access the operating system.
  2485.  
  2486. ===========================================================================
  2487. SECTION 14                                                  TROUBLESHOOTING
  2488. ===========================================================================
  2489.  
  2490. Most WR-BBS problems can be easily corrected by reading this documentation,
  2491. particularly this  section.  Support for WR-BBS is available via the WR-BBS
  2492. Headquarters BBS.   Don't hesitate to log on the WR-BBS Headquarters BBS if
  2493. you cannot  get your  WR-BBS system  working properly.    The  author  will
  2494. respond to your support request promptly (usually within 24 hours).
  2495.  
  2496.  
  2497. ---------------------------------------------------------------------------
  2498.               PROBLEMS SETTING HOME PATH ENVIRONMENT VARIABLE
  2499.  
  2500. If DOS  reports "Insufficient Environment Space" when you (or AUTOEXEC.BAT)
  2501. try to  SET the home path, you can increase the environment space available
  2502. by modifying  the CONFIG.SYS  file on  your system.  To enable a larger DOS
  2503. environment, the following line should be inserted in CONFIG.SYS:
  2504.  
  2505.           SHELL=C:\COMMAND.COM /P /E:1024
  2506.  
  2507. If your  DOS command  interpreter resides  somewhere other  than  the  root
  2508. directory of  C:, you  would substitute  the appropriate directory path, as
  2509. in:
  2510.  
  2511.           SHELL=C:\DOSFILES\COMMAND.COM /P /E:1024
  2512.  
  2513. In the  above example,  the DOS command interpreter is in the sub-directory
  2514. named C:\DOSFILES.   The  "/P" switch  tells DOS  that  this  is  to  be  a
  2515. "permanent" command interpreter (one that the EXIT command cannot release).
  2516. The "/E" switch tells DOS the desired environment size (from 128 to 32767 -
  2517. the minimum  and maximum  vary slightly  among DOS  versions). It  must  be
  2518. followed by a colon and a number within the allowable range.
  2519.  
  2520. If no  SHELL statement is included in your CONFIG.SYS file, the environment
  2521. is set  to a  (small) default of 160 or so bytes, depending on DOS version.
  2522. This is  inadequate for systems which use multiple SET statements to modify
  2523. the  environment,   including  systems  running  WR-BBS  along  with  other
  2524. environment-dependent applications.
  2525.  
  2526.      WARNING!   Make sure  you know  the exact location of your actual
  2527.      DOS command interpreter (COMMAND.COM) before modifying CONFIG.SYS
  2528.      with a SHELL statement.  If your SHELL statement points to a non-
  2529.      existent  path,   or  a  directory  not  containing  the  command
  2530.      interpreter, DOS  will not boot, and you will be left with a hung
  2531.      system that  only says  "Bad or missing command interpreter".  If
  2532.      this happens,  you will  need to  boot  from  a  system-formatted
  2533.      floppy diskette, and then modify the hard drive's CONFIG.SYS.
  2534.  
  2535. NOTE:  If your are using a DOS enhancer which provides an alternate command
  2536. interpreter, such  as 4DOS, EZSHELL or WR-DOS, check with the documentation
  2537. that accompanies  the DOS  enhancer  for  instructions  on  increasing  the
  2538. environment if  needed.  (WR-DOS's environment is 2000 bytes by default, so
  2539. it should not be necessary to change it).
  2540.  
  2541. ---------------------------------------------------------------------------
  2542.                               MODEM PROBLEMS
  2543.  
  2544. If your modem does not work properly with WR-BBS, it is likely that one (or
  2545. more) of the following problems exist:
  2546.  
  2547.      1.    Your  modem  has  hardware  DIP  switches  which  allow  certain
  2548.      configuration items  to be "hard configured" on the modem - and one or
  2549.      more of these switches is set incorrectly.  If your modem has hardware
  2550.      switches or jumpers, make sure that they are set as follows:
  2551.  
  2552.           A.   Carrier detect  (CD) signal not forced on, but tracks actual
  2553.           carrier detection at all times.
  2554.           
  2555.           B.   Data Terminal  Ready (DTR)  signal not  forced  on,  but  is
  2556.           controlled by the communications program (WR-BBS).
  2557.           
  2558.           C.   Auto answer  MUST BE OFF.  WR-BBS requires auto-answer to be
  2559.           disabled for  correct operation.  The only exception to this rule
  2560.           is  if   you  have  a  defective  or  incompatible  modem  -  see
  2561.           RINGDETECT= in section 10.
  2562.  
  2563.      2.   Your modem  initialization string  is not being recognized by the
  2564.      modem.  With   most  modems,   any  invalid  command  in  any  of  the
  2565.      initialization strings  will cause  the modem  to  ignore  the  entire
  2566.      initialization string. To check for this, watch the WR-BBS main screen
  2567.      during startup.   The  status bar shows the response sent by the modem
  2568.      after  each  command,  including  the  initialization  strings.    The
  2569.      response you  see  in  the  status  bar  should  be  an  echo  of  the
  2570.      initialization string  itself, followed  by "OK".   (There may be some
  2571.      arrows in  that string  as well,  representing linefeed  and  carriage
  2572.      return characters).   If  you do  not see the initialization string(s)
  2573.      echoed back, or see the word "ERROR" on the status bar, then the modem
  2574.      did not recognize the initialization string.
  2575.  
  2576.      3.   You have  included S0=1  (or some other value other than zero) in
  2577.      your initialization  string.   This turns  on the  modem's auto answer
  2578.      feature, which prevents WR-BBS from working properly. Auto answer MUST
  2579.      BE OFF.   WR-BBS  requires auto-answer  to  be  disabled  for  correct
  2580.      operation.  The only exception to this rule is if you have a defective
  2581.      or incompatible modem - see RINGDETECT= in section 10.
  2582.      
  2583.      4.   Your modem does not recognize the commands commonly used by Hayes
  2584.      <tm> modems.   Some  modems claim  to be  "100% guaranteed  Hayes <tm>
  2585.      compatible" when  in fact  they are  not at  all.   If you have one of
  2586.      these modems,  you will  have to  research and  configure  the  proper
  2587.      command strings and initialization codes.
  2588.  
  2589.  
  2590. ---------------------------------------------------------------------------
  2591.                        MISCELLANEOUS TROUBLESHOOTING
  2592.  
  2593.  
  2594. PROBLEM:   During startup,  WR-BBS says  "HOLDING DTR DOWN FOR XX SECONDS",
  2595. and then aborts the startup process.
  2596.  
  2597.      SOLUTION:   Your modem  is incorrectly  set up  and is  reporting that
  2598.      carrier detect  is present  at all  times.  To WR-BBS, the presence of
  2599.      carrier means that a caller is probably connected, and WR-BBS attempts
  2600.      to drop the "caller" by dropping DTR for up to 30 seconds.  If carrier
  2601.      is still  detected, WR-BBS  aborts the  modem initialization (and does
  2602.      not start),  because it  has not  established the  control it requires
  2603.      from the modem.
  2604.  
  2605. PROBLEM:   A call  rings in,  and WR-BBS  reports that  it is answering the
  2606. call.   But instead of the caller establishing a connection, WR-BBS reports
  2607. a result code error and the caller is dropped.
  2608.  
  2609.      SOLUTION:   Your modem  is configured incorrectly, and is set to auto-
  2610.      answer. When  WR-BBS sends  the answer  command, the  modem aborts the
  2611.      connection, and  WR-BBS never  sees a valid connect code.  Auto-answer
  2612.      should never  be enabled,  except for  a few  rare circumstances.  See
  2613.      RINGDETECT= in section 10 (configuring with WRCONFIG.SYS).
  2614.  
  2615. PROBLEM:   A caller  logs on  via the modem, and has no problems during the
  2616. on-line session.   When  they say  goodbye, however, WR-BBS reports that it
  2617. cannot disconnect the caller, logs errors, and then WR-BBS re-starts.
  2618.  
  2619.      SOLUTION:   An incorrect  modem configuration is to blame.  Your modem
  2620.      is set  to hold  DTR "high"  at all times, and therefore WR-BBS cannot
  2621.      drop DTR to disconnect the caller.  WR-BBS does not use the unreliable
  2622.      method of  sending +++  ATH0 to  disconnect a caller.  Dropping DTR is
  2623.      guaranteed to  positively disconnect the caller - provided that WR-BBS
  2624.      is allowed to control the DTR signal.
  2625.  
  2626. PROBLEM:   When a  caller  selects  a  file  transfer  or  door,  they  are
  2627. disconnected when WR-BBS shells out to run the protocol or door.
  2628.  
  2629.      SOLUTION:   WR-BBS does not alter the DTR or any other signals when it
  2630.      shells out.  Make sure that you file transfer protocol or door program
  2631.      is configured  properly -  and check  for  any  error  messages  those
  2632.      programs generate.  The use of DOORWAY to control doors is recommended
  2633.      for trouble  free operation.   You  can download an evaluation copy of
  2634.      DOORWAY from most large BBS systems.
  2635.  
  2636. PROBLEM:   When WR-BBS  starts up, it sometimes runs the W-TREE maintenance
  2637. utility and rebuilds the index files.
  2638.  
  2639.      SOLUTION:   The file  indices are  rebuilt, as  part  of  the  startup
  2640.      process, any  time that  the W-TREE Database Manager cannot verify the
  2641.      indexes as being current.  The usual cause is that WR-BBS was not shut
  2642.      down properly.   The correct way to shut down WR-BBS is to press ALT-Q
  2643.      from the  main screen, confirm the shutdown request, and then wait for
  2644.      all WR-BBS  processes to  terminate (about 20 seconds).  You will know
  2645.      when WR-BBS  has stopped  because your  system prompt will return.  If
  2646.      you do  not shut  WR-BBS down  properly, or reboot during the shutdown
  2647.      process, the  W-TREE Database  Manager will not have an opportunity to
  2648.      detach the files (DOS will force them closed instead),  and the W-TREE
  2649.      Database Manager  will rebuild  the indices  on the next startup.  The
  2650.      chance of  damaging the  actual data files due to an improper shutdown
  2651.      is minimal, but that risk is one you should avoid anyway.
  2652.  
  2653.  
  2654. PROBLEM:   During startup,  WR-BBS gets  to the  point  where  is  displays
  2655. "Database is not on line ... starting W-TREE Database Manager ...", then it
  2656. aborts, reporting  error #  W-99000-4.  The error text is "INSUFFICIENT DOS
  2657. FILE HANDLES".
  2658.  
  2659.      SOLUTION:   This error happens when the operating system (DOS) refuses
  2660.      to allow  enough files to be opened for WR-BBS operation.  You can fix
  2661.      this  easily   by  modify   your  FILES=   entry  in  CONFIG.SYS  (not
  2662.      WRCONFIG.SYS).   You should  have FILES=30  or  more  to  ensure  than
  2663.      sufficient file handles are available for WR-BBS.
  2664.  
  2665. PROBLEM:  The WR-BBS activity log has entries that read "ERROR DURING IMAGE
  2666. SWAP TO EMS - SHELL USED"
  2667.  
  2668.      SOLUTION:  This message occurs if WR-BBS tries to swap the program out
  2669.      of regular memory into EMS (exPANDed memory), but cannot complete that
  2670.      operation.  It is usually due to the EMS not being compatible with the
  2671.      LIM standard,  or due  to contention  from another program in a multi-
  2672.      tasking environment,  or due  to a  TSR (such  as a  disk cache) which
  2673.      unexpectedly accesses  EMS while WR-BBS is swapping out.  WR-BBS swaps
  2674.      out for doors, file transfers, and events.  This is not a fatal error,
  2675.      but simply  informs you that WR-BBS used a conventional shell (without
  2676.      swapping out).
  2677.  
  2678. PROBLEM:   WR-BBS reports error # W-10XXX-2, W-99000-3 or W-10XXX-15 (where
  2679. "XXX" is any three digits), and then WR-BBS shuts down and restarts.
  2680.  
  2681.      SOLUTION:  These errors indicate path errors.  The usual cause is that
  2682.      you have the WR-BBS home directory included in your DOS path statement
  2683.      (it should  not be).   It can also occur in a networked environment if
  2684.      the server  logs the  WR-BBS machine out, and remaps the drive letters
  2685.      while doing  so. Another  possible cause  is if  one  of  your  events
  2686.      corrupts the  DOS environment so that the home path environment string
  2687.      is not longer valid.
  2688.  
  2689. PROBLEM:   WR-BBS starts  up normally,  but then  thinks that  there is  an
  2690. incoming call  (when there is none).  It "answers" the phantom call, but of
  2691. course, never establishes a connection.
  2692.  
  2693.      SOLUTION:   Your modem is set to report that carrier is present at all
  2694.      times -  an invalid  setting.   Make sure  that AT&C1  appears in your
  2695.      modem initialization  string, and  that your  modem's DIP  switches or
  2696.      jumpers (if  any) are set to honor carrier detect and not artificially
  2697.      hold it high.
  2698.  
  2699.  
  2700. PROBLEM:   Callers complain about "missing" characters, skewed screens, and
  2701. file transfers that fail for no apparent reason.
  2702.  
  2703.      SOLUTION:   Dropped characters  are almost  always due  to one  of two
  2704.      things:
  2705.      
  2706.      1.   Flow control  mismatch:   WR-BBS by  default does  not  use  flow
  2707.      control. If  you are  using an error correcting modem with locked DTE,
  2708.      be sure to set CTSFLOW=Y in WRCONFIG.SYS, and configure the modem (via
  2709.      initialization strings)  to work  with CTS  flow control (not XON/XOFF
  2710.      flow control).
  2711.      
  2712.      2.   Interrupt latency:   Programs  that are running simultaneously on
  2713.      the same machine as WR-BBS can "lock" interrupts for extended periods,
  2714.      causing "drop  outs" on  the communications  port.    Some  "resident"
  2715.      programs (TSR's)  are guilty of this.  Such programs include some disk
  2716.      caching programs,  especially when  the cache  is  configured  to  use
  2717.      exTENDed memory.  To troubleshoot this problem, temporarily remove all
  2718.      DEVICE statements  from  CONFIG.SYS  (not  WRCONFIG.SYS),  and  rename
  2719.      AUTOEXEC.BAT to  something else  to hide  it from  DOS.  Then boot the
  2720.      system, manually  type a  SET statement to set WR-BBS's home path, and
  2721.      then start  WR-BBS.   If the  problem no  longer  exists,  try  adding
  2722.      statements back into CONFIG.SYS one at a time, rebooting each time and
  2723.      checking  for  dropped  characters.    Then  add  each  line  back  to
  2724.      AUTOEXEC.BAT, doing  the same  thing, until  the offending  program is
  2725.      found.
  2726.  
  2727.  
  2728. ---------------------------------------------------------------------------
  2729.                                NEED SUPPORT?
  2730.  
  2731. Support for WR-BBS is available exclusively through the WR-BBS Headquarters
  2732. BBS.   Call (206) 828-9089.  See section 1 for more detailed information on
  2733. WR-BBS support.   If  you have problems with WR-BBS that cannot be resolved
  2734. by following the instructions in this document, please log on to the WR-BBS
  2735. Headquarters BBS.
  2736.  
  2737.  
  2738.  
  2739. ===========================================================================
  2740. SECTION 15                                                     MIDNIGHT.BAT
  2741. ===========================================================================
  2742.  
  2743. One of the features built into WR-BBS is the ability to automatically run a
  2744. batch file  when the  computer's clock indicates that the date has changed.
  2745. If you  have a  batch file  named MIDNIGHT.BAT in the same directory as the
  2746. WR-BBS program files (the home path), this file will be executed as soon as
  2747. WR-BBS becomes  idle after  a date  change.   If there is no call (or local
  2748. administration activity)  when the  date changes,  then  MIDNIGHT.BAT  will
  2749. execute within  sixty seconds  of midnight.  If there is a call in progress
  2750. when the date changes, or you are doing some administrative activity on WR-
  2751. BBS from  the local console when midnight rolls around, WR-BBS will execute
  2752. MIDNIGHT.BAT as  soon as the system becomes idle again, ie after the caller
  2753. logs off, or the administration activity stops.
  2754.  
  2755. The use  of MIDNIGHT.BAT is optional.  If the batch file named MIDNIGHT.BAT
  2756. does not  exist in  the WR-BBS home directory, nothing will happen when the
  2757. date changes,  and the  system will  continue to  wait for calls just as it
  2758. does at any other time.
  2759.  
  2760. A sample  MIDNIGHT.BAT  file  is  included  with  the  WR-BBS  distribution
  2761. archive.   You can modify this file to suit your needs, or delete it if you
  2762. do not  wish to  use this  optional feature.  Some functions that you could
  2763. include in MIDNIGHT.BAT might be:
  2764.  
  2765.      1.  To archive the log file.
  2766.      2.  To copy the WR-BBS database files to a backup directory.
  2767.      3.  To update your date-sensitive bulletin files.
  2768.  
  2769. WR-BBS closes all of its files before executing MIDNIGHT.BAT, so it is safe
  2770. to copy  the database  files.   WR-BBS shells  out to  run MIDNIGHT.BAT (as
  2771. opposed to  terminating), so  no special  considerations in your batch file
  2772. are needed.  Just make sure that whatever programs you launch in your batch
  2773. file automatically  end themselves.  Programs that may require human input,
  2774. or operations that access the floppy drives or printer are not recommended.
  2775. If one  of these operations has an error, the system will remain hung until
  2776. human intervention occurs.
  2777.  
  2778. When WR-BBS  calls MIDNIGHT.BAT,  it adds  one parameter to the DOS command
  2779. line.   This parameter is a six digit string representing the current date.
  2780. For example,  when MIDNIGHT.BAT  runs on  June 14, 1993, WR-BBS invokes the
  2781. batch file with the following command line:
  2782.  
  2783.           MIDNIGHT.BAT 061493
  2784.  
  2785. You can  ignore the  parameter passed  to the batch file if you have no use
  2786. for it.  You can capture that string by reading the DOS command line (using
  2787. %1) in  your MIDNIGHT.BAT  batch file.   You might want to use it to rename
  2788. the current  activity log  (to a filename representing the current date) or
  2789. some other  date-specific DOS  operation.   The sample copy of MIDNIGHT.BAT
  2790. shows one  example of  using the  date string that is passed by WR-BBS when
  2791. MIDNIGHT.BAT is called, to archive the log file.
  2792.  
  2793. CAUTION:   Do NOT  call WR.BAT  or launch  WRBBS.EXE from your MIDNIGHT.BAT
  2794. file.   This will  result in  two  copies  of  WR-BBS  being  loaded,  with
  2795. unpredictable  (possibly  catastrophic)  results.    Let  MIDNIGHT.BAT  end
  2796. normally, and WR-BBS will "un-shell" and resume operation.
  2797.  
  2798. If you do not wish to use this feature, delete or rename MIDNIGHT.BAT.
  2799.  
  2800.  
  2801. ===========================================================================
  2802. SECTION 16                                                     WR_AFTER.BAT
  2803. ===========================================================================
  2804.  
  2805.        This is  an optional feature that WR-BBS offers.  You do not
  2806.        have to  use WR_AFTER.BAT.   If  you do not wish to use this
  2807.        feature, delete or rename WR_AFTER.BAT from your WR-BBS home
  2808.        directory.
  2809.  
  2810. You may  have a  need to  do some kind of "housekeeping" after each call is
  2811. processed by  your WR-BBS  system.  For example, you may have a third-party
  2812. utility that  scans the  user database  for new users, or perhaps a utility
  2813. that collects  statistics from  the activity log file.  Such utilities need
  2814. to be  launched after  each call  is completed  by WR-BBS.   The batch file
  2815. WR_AFTER.BAT will do that for you.
  2816.  
  2817. After each  caller logs  off (or  otherwise ends their call), WR-BBS checks
  2818. the home directory for the existence of a file named WR_AFTER.BAT.  If this
  2819. file does  not exist,  WR-BBS simply  continues along  and prepares for the
  2820. next call.   If,  however, WR_AFTER.BAT is found, WR-BBS suspends operation
  2821. after recycling the modem (but before opening the modem for the next call),
  2822. and executes WR_AFTER.BAT.
  2823.  
  2824. When WR-BBS starts WR_AFTER.BAT, it (WR-BBS) does not completely terminate,
  2825. but swaps out to disk and then calls WR_AFTER.BAT.  Do not run any programs
  2826. in WR_AFTER.BAT  that remain in memory (TSR's), and do not call WR.BAT from
  2827. WR_AFTER.BAT.   Doing either  of these no-no's will result in unpredictable
  2828. problems and mysterious error messages from WR-BBS.
  2829.  
  2830.  
  2831. ===========================================================================
  2832. SECTION 16                                     HOW THE MESSAGE SYSTEM WORKS
  2833. ===========================================================================
  2834.  
  2835. The message  system uses  a database  file (WRBBSMSG.DAT)  to keep track of
  2836. messages.   Information about  who sent  a message, the intended recipient,
  2837. dates and  times, receipt,  and other  details are all stored as records in
  2838. the message database.
  2839.  
  2840. The messages  themselves are  saved as  individual text  files, in  a  sub-
  2841. directory that  WR-BBS creates  off the home path.  Depending on the number
  2842. of messages  on file, there can be more than one message sub-directory. The
  2843. first message  sub-directory is  named MSGFILES.000, and additional message
  2844. sub-directories are  named MSGFILES.001,  MSGFILES.002 and  so  on.  A  new
  2845. message sub-directory  is created  when an  existing one  has more than 254
  2846. current messages.   WR-BBS,  when creating a message file, first checks any
  2847. and all  existing message sub-directories to see if there is room available
  2848. for another  message file.   Thus, if the MSGFILES.000 has 255 files in it,
  2849. but 100  messages are  deleted, the  next 100 new messages will be put into
  2850. MSGFILES.000 rather than creating a new sub-directory.
  2851.  
  2852. There can  be up  to 1000 message sub-directories, but in order for this to
  2853. occur, there  would have  to be  more than  254,999 messages on file at one
  2854. time - an unlikely event on any WR-BBS system.
  2855.  
  2856. When callers delete messages (or messages are deleted by the SysOp), WR-BBS
  2857. automatically  deletes   the  corresponding   message  text   file  in  the
  2858. appropriate message  sub-directory, freeing  that space  for the  next  new
  2859. message.
  2860.  
  2861. The message  text files  are given  unique random  file names,  based on  a
  2862. built-in algorithm.   Do not rename or delete active message text files. If
  2863. a caller  attempts to  read an active message whose corresponding text file
  2864. is missing, and error message is displayed to the caller, indicating that a
  2865. system  error   has  occurred.     The  "system  errors"  counter  is  then
  2866. incremented, and an entry is made in the activity log to record the error.
  2867.  
  2868.  
  2869.  
  2870. ===========================================================================
  2871. SECTION 17                                               CONFIGURING EVENTS
  2872. ===========================================================================
  2873.  
  2874. You may wish to set up events on your WR-BBS system.  Event configuration
  2875. is not required for operation of WR-BBS, so if you are setting up your WR-
  2876. BBS for the first time, you may wish to skip this section, and (optionally)
  2877. configure some events later on.
  2878.  
  2879. Events are external programs, utilities, or functions that you can schedule
  2880. to occur  on or  after a certain time each day, or only on a certain day(s)
  2881. of the  week.  Most BBS's utilize events as part of their normal operation,
  2882. but this is not mandatory.  Some examples of events are:
  2883.  
  2884.      - To  automatically back  up the  BBS data  files to  diskette or tape
  2885.           drive during a period of low call activity.
  2886.      
  2887.      - To  copy or archive the activity log file each night, the delete the
  2888.           original log  file, thus  preventing the  activity log  file from
  2889.           becoming large and unmanageable.
  2890.      
  2891.      - To  update or  create bulletin  screen files  at a certain interval,
  2892.           thus providing fresh bulletins for subsequent callers.
  2893.      
  2894.      - To  run a  program which  synchronizes the  computer's clock with an
  2895.           external source,  thus ensuring  that the computer always has the
  2896.           right time.
  2897.  
  2898. Most events are driven by batch files, which then launch the actual utility
  2899. program.  It is possible, however, to launch a program directly.
  2900.  
  2901. With WR-BBS,  there are  two types  of events  that can  be  configured,  a
  2902. "shell" event,  and a "terminate" event.  When a "shell" event runs, WR-BBS
  2903. (or a  portion of  WR-BBS) remains  loaded in  memory, and WR-BBS calls the
  2904. external program, much in the same way that the SysOp can shell to DOS from
  2905. WR-BBS.   The called  program executes,  and when  it is  finished, control
  2906. returns to  WR-BBS, which  then picks  up where it left off.  A majority of
  2907. events can be "shell" events.  A "shell" event is the easiest to configure,
  2908. as you  only need to specify the day(s), time, and the name of the batch or
  2909. program to be executed.
  2910.  
  2911. With a  "terminate" event,  WR-BBS shuts completely down, closes all files,
  2912. and then terminates.  It no longer exists in memory, and all interrupts and
  2913. file handles  are released to DOS.  It is up to WR.BAT (the batch file that
  2914. controls WR-BBS,  to detect  the unique  DOS error level when this happens,
  2915. and launch  the event program.  WR.BAT or the launched batch file must then
  2916. restart WR-BBS,  as WR-BBS is completely shut down when a "terminate" event
  2917. is invoked, and cannot restart itself.
  2918.  
  2919. Why would you use a "terminate" event instead of a "shell" event?  Here are
  2920. some examples:
  2921.  
  2922.      - If  the event program needs to open a lot of files.  DOS only allows
  2923.           a given  number of  files to be assigned at a given time.  WR-BBS
  2924.           has up  to nine files assigned and/or open, even when waiting for
  2925.           a call.   During  a "shell"  event, WR-BBS  closes the files, but
  2926.           does not  "un-assign" the  file  handles.    As  far  as  DOS  is
  2927.           concerned, there  are still  nine file  handles in  use.   If the
  2928.           event program  needs to  open a  lot of files, DOS may react with
  2929.           "no more file handles".
  2930.      
  2931.      - If  you run  an event  program that changes the FAT (file allocation
  2932.           table), you  must run  the event  as a  "terminate  event".    An
  2933.           example is  a disk  optimizer  program.    Most  disk  optimizers
  2934.           directly modify  the FAT, and make low-level calls to DOS to move
  2935.           file sectors around.  If WR-BBS did a "shell" event to run a disk
  2936.           optimizer, then  the assigned files wouldn't be in the same place
  2937.           after the  event runs  as they were before the event. WR-BBS (nor
  2938.           any other  program) would not be aware of the change, and when it
  2939.           attempts to update files, the results could be disastrous.
  2940.      
  2941.      - Events  which use the same communications hardware as WR-BBS require
  2942.           that WR-BBS  do a  "terminate" event.  When WR-BBS terminates, it
  2943.           de-installs all  communications interrupts.  During a shell, this
  2944.           is not  done.  If you run a "shell" event which uses the same COM
  2945.           port as  WR-BBS, you  may find  that WR-BBS doesn't recognize the
  2946.           COM port  any more.  When this happens, WR-BBS may crash when the
  2947.           next call  rings in.   Some  of the better written communications
  2948.           utilities (including  WR-BBS) restore the COM port interrupts and
  2949.           vectors to  the exact  state they were in at startup time, rather
  2950.           than to  a default setting.  Such programs can probably be safely
  2951.           run in  a "shell"  event  under  WR-BBS.    If  in  doubt,  do  a
  2952.           "terminate" event.
  2953.  
  2954. All events are configured with an entry in WRCONFIG.SYS. There can be up to
  2955. 16 "EVENT="  entries.   If more  than 16  appear in  WRCONFIG.SYS, only the
  2956. first 16 are used, and an error message appears during startup.  Each event
  2957. entry consists of four parts:
  2958.  
  2959.      1.  The "EVENT=" string, which must be the first six characters.
  2960.      2.  A single numeric character, indicating what day(s) of the week the
  2961.           event should occur on.
  2962.      3.  The time the event should occur (24 hour notation).
  2963.      4.  Either a fully pathed file name, if the event is to run a program,
  2964.           or a  number (65-80)  which is designates the DOS errorlevel that
  2965.           WR-BBS should terminate with when the event is due.
  2966.  
  2967.      Each of the four entries is separated with a "pipe" symbol (|).
  2968.      
  2969.      For item 2, the day(s) designator, use one of the following:
  2970.      
  2971.      1 = Each Monday
  2972.      2 = Each Tuesday
  2973.      3 = Each Wednesday
  2974.      4 = Each Thursday
  2975.      5 = Each Friday
  2976.      6 = Each Saturday
  2977.      7 = Each Sunday
  2978.      9 = Every day of the week
  2979.  
  2980.      A value of "8" for the day designator is not meaningful, and the event
  2981.      will never execute if set for day "8".
  2982.      
  2983.      For item  # 3, the event's time, you must enter the full 24 hour time,
  2984.      complete with  leading zeros.  Thus, 13:55, 02:00, and 00:45 are valid
  2985.      times, but  2:00 is  not.   Midnight is  expressed as 00:00.  There is
  2986.      minimal error  checking on  the event configuration, so it is possible
  2987.      to schedule an impossible event, such as at 25:00
  2988.  
  2989.  
  2990. Some examples:
  2991.  
  2992.      EVENT=1|02:00|C:\UTILITY\COPYFILE.BAT
  2993.  
  2994. The above  event will  run each Monday morning at 2:00 AM.  It is a "shell"
  2995. event, and  the batch  file named  COPYFILE.BAT in the C:\UTILITY directory
  2996. will be executed when the event runs.
  2997.  
  2998.      EVENT=1|02:00|*66
  2999.  
  3000. The above  event is a "terminate" event.  It will occur each Monday at 2:00
  3001. AM.   When that  time rolls  around, WR-BBS will terminate, setting the DOS
  3002. error level  to 66.   The  batch file  that started WR-BBS (such as WR.BAT)
  3003. will test  for this error level, invoke the other program, then restart WR-
  3004. BBS.
  3005.  
  3006. See section  8, which  details the  workings of WR.BAT, for a more detailed
  3007. explanation of how DOS error levels are detected and branched.
  3008.  
  3009. If you  wish to have multiple events run on exactly the same schedule, just
  3010. schedule one  event in  WR-BBS, and  have that event run a batch file which
  3011. launches the  multiple programs.   If  any two  (or more)  WR-BBS scheduled
  3012. events are configured to occur at exactly the same time, the order in which
  3013. the events  will be  launched is determined by the order in which they were
  3014. posted to the task queue, which may not be the order you listed them in the
  3015. configuration file WRCONFIG.SYS.
  3016.  
  3017. In order  for an  event to  execute, WR-BBS  must be  loaded, running,  and
  3018. waiting for calls.  If WR-BBS is doing something else (such as processing a
  3019. call, or  local SysOp activity), the event will not launch until the system
  3020. becomes idle again.  This version of WR-BBS does not incorporate a facility
  3021. to force  a caller  off the  system when an event is pending.  Keep this in
  3022. mind for extremely time-critical events.
  3023.  
  3024.  
  3025.  
  3026. ===========================================================================
  3027. SECTION 18                                                THE QUESTIONNAIRE
  3028. ===========================================================================
  3029.  
  3030. WR-BBS includes a questionnaire facility.  There is only one questionnaire.
  3031. You can include up to 255 "questions" in the routine, and collect an answer
  3032. to each  question.  The responses are stored in a text file, annotated with
  3033. the caller's  name, and  the date  and time  that the  caller selected  the
  3034. questionnaire.   There is no format-checking done on the responses.  Unlike
  3035. the New  User Questionnaire, callers have the opportunity to "skip" answers
  3036. or abort the questionnaire entirely at any point.
  3037.  
  3038.           NOTE:   After the  caller has  completed the questionnaire (or if
  3039.           they abort  the questionnaire at any point), they are returned to
  3040.           the Main Menu.
  3041.  
  3042. You do  not have  to have  a questionnaire if you have no need for one.  If
  3043. you would  prefer not  to have a questionnaire available to callers, simply
  3044. make sure  that there is no directory named QUESTION as a sub-directory off
  3045. the home  path.   Any callers  who press  "Q" at the main menu will then be
  3046. told  that  no  questionnaire  has  been  configured.    To  reduce  caller
  3047. confusion, you should also edit the MAINMENU.ASC and MAINMENU.ANS screen to
  3048. remove the (Q)uestionnaire option if it presently appears as a choice.
  3049.  
  3050. Before you  enable the questionnaire, you must first create a few (or more)
  3051. short "question files".  These are essentially the same as the screen files
  3052. used elsewhere  in WR-BBS,  except they  are typically  much smaller, since
  3053. they usually  consist of just one or two sentences.  Just as with other WR-
  3054. BBS screen  files, you  need to  create an  ASCII (.ASC)  and  ANSI  (.ANS)
  3055. version of each file.  There can be up to 255 questions. Most callers would
  3056. not endure  even 100 questions, so your questionnaire will probably consist
  3057. of maybe  a dozen  questions maximum  - but you can go wild and write up to
  3058. 255 questions  if you  have a special need.  The filenames for the question
  3059. files follow the WR-BBS convention:
  3060.  
  3061.                                Non-ANSI              ANSI
  3062.                                ------------          ------------
  3063.           1st question         QUES0001.ASC          QUES0001.ANS
  3064.           2nd question         QUES0002.ASC          QUES0002.ANS
  3065.           3rd question         QUES0003.ASC          QUES0003.ANS
  3066.           
  3067.           and so on ...
  3068.  
  3069. There is also a "last" display file which can optionally be included in the
  3070. questionnaire routine.   This  file is  displayed to  the caller  after the
  3071. caller successfully  answers all  of the  questions.   It might  be a brief
  3072. message saying  "thank you  for answering the questions" or something along
  3073. that line.  The filenames for this "last" display file are EPILOGUE.ASC and
  3074. EPILOGUE.ANS.
  3075.  
  3076. All of the files described above are placed in a special sub-directory, off
  3077. the home  path directory.   The name of this special directory is QUESTION.
  3078. For example,  if your  home path is C:\WR-BBS, then you would create a sub-
  3079. directory named  C:\WR-BBS\QUESTION.   To do  this,  issue  the  DOS  MKDIR
  3080. command (substituting your correct home path if different):
  3081.  
  3082.           MKDIR C:\WR-BBS\QUESTION
  3083.  
  3084. You are  then ready  to add  the question  files to  the new sub-directory.
  3085. When a caller selects (Q)uestionnaire from the main menu, WR-BBS checks for
  3086. the existence  of the  sub-directory named  QUESTION, then for any question
  3087. files.   It then  displays the  first  question  file,  gets  the  caller's
  3088. response, displays the second question file, the caller responds again, and
  3089. so on.
  3090.  
  3091.           NOTE:   For proper  operation, use  consecutive numbers  in  your
  3092.           question filenames - don't skip any numbers.
  3093.  
  3094. Caller options during the questionnaire:
  3095.  
  3096.           The caller can answer the question by typing a one line response.
  3097.           
  3098.           The caller can skip the question by pressing <ENTER> alone.
  3099.           
  3100.           The caller  can abort  the questionnaire by typing a star (*) and
  3101.           then pressing <ENTER>.
  3102.  
  3103. The answers  left by  callers are  stored  in  an  ASCII  text  file  named
  3104. ANSWERS.TXT.   This file  is located in the QUESTION sub-directory.  If the
  3105. caller skips  any questions  while proceeding  through  the  questionnaire,
  3106. ANSWERS.TXT will  have an  entry "NO  RESPONSE FROM [CALLER NAME]".  If the
  3107. caller aborts  the questionnaire,  it will  be recorded  in ANSWERS.TXT  as
  3108. "[CALLER NAME] ABORTED QUESTIONNAIRE".   If the caller drops carrier during
  3109. the questionnaire,  this will  also be recorded in ANSWERS.TXT, if the loss
  3110. of carrier  is detected  at any  time except  when a question file is being
  3111. transmitted.  WRBBSLOG.TXT will also have a record of dropped carriers.
  3112.  
  3113. As subsequent  callers complete  the  questionnaire,  their  responses  are
  3114. appended to  ANSWERS.TXT -  this file  grows with  each activation  of  the
  3115. questionnaire facility.   You  may wish  to include  some kind of automatic
  3116. archiving routine  in MIDNIGHT.BAT  or an event, which moves ANSWERS.TXT to
  3117. another location.   WR-BBS  automatically creates a new ANSWERS.TXT file if
  3118. none is  found.   See section  15 for  more details  on  MIDNIGHT.BAT,  and
  3119. section 17 for more details on configuring events.
  3120.  
  3121. ===========================================================================
  3122. SECTION 19                                                 THE ACTIVITY LOG
  3123. ===========================================================================
  3124.  
  3125. WR-BBS creates  and updates  a log  file named WRBBSLOG.TXT, located in the
  3126. home path.   The  following are  some examples  of types  of  activity  are
  3127. recorded in WRBBSLOG.TXT:
  3128.  
  3129.           - Callers logging in.
  3130.           - Callers changing their passwords.
  3131.           - Callers  requesting various features throughout the WR-BBS menu
  3132.                     system.
  3133.           - Callers making mistakes, or selecting unauthorized features.
  3134.           - Callers dropping carrier.
  3135.           - File transfers.
  3136.           - WR-BBS being started or re-started.
  3137.           - WR-BBS being shut down.
  3138.           - Errors that occur during WR-BBS startup or shutdown.
  3139.           - Errors that occur during WR-BBS runtime.
  3140.           - Errors detected by the W-TREE Database Manager.
  3141.           - System status messages.
  3142.           - SysOp administration activity.
  3143.  
  3144.  
  3145. WR-BBS keeps  only one  log file  - there  is no  separate file for errors.
  3146. Since WRBBSLOG.TXT is an ASCII text file, you can use a third party utility
  3147. (or even  something as  basic as DOS's FIND) to search for specific strings
  3148. in the log file.
  3149.  
  3150. If WRBBSLOG.TXT does not exist, WR-BBS creates a new one when it next needs
  3151. to record  an event.   If  WRBBSLOG.TXT does  exist, WR-BBS  appends  event
  3152. information to it.  You will probably want to implement some scheme to copy
  3153. the contents  of WRBBSLOG.TXT to an archival location at regular intervals.
  3154. The sample MIDNIGHT.BAT file gives an example of how to do this.
  3155.  
  3156. Should WR-BBS  experience a  "fatal" error  during runtime,  the details of
  3157. that error  will usually  (but not always) be logged to WRBBSLOG.TXT.  Some
  3158. errors are  so severe  that no  file I/O  is possible,  and therefore  they
  3159. cannot be  logged.   If a fatal error occurs and is logged, the information
  3160. in WRBBSLOG.TXT  will be  helpful in  determining exactly  what went wrong.
  3161. Particularly important  are the  Process ID  and System  Status, listed  as
  3162. "PID" and  "SS" in  WRBBSLOG.TXT.   If you  contact the  author for support
  3163. involving a fatal error, this information will be most helpful in resolving
  3164. the problem.
  3165.  
  3166.  
  3167.  
  3168. ===========================================================================
  3169. SECTION 20                                                THE "DOWN" OPTION
  3170. ===========================================================================
  3171.  
  3172. WR-BBS has  a handy feature built-in for "downtime" operation.  This allows
  3173. you to  configure WR-BBS  to answer calls, but not allow callers to log on.
  3174. Instead, callers  are presented  with a message (which you create), and the
  3175. call is then terminated.
  3176.  
  3177. Why would  you want to run your WR-BBS in "downtime" mode?  Perhaps you are
  3178. in the  middle of  overhauling all  your screens,  and you  don't want  the
  3179. computer to get tied up with caller sessions.  If you plan to have your WR-
  3180. BBS down  for any period of time, this feature will be useful - compared to
  3181. the alternatives.   Callers are much more receptive to a "downtime" message
  3182. that getting a constant busy signal or ringing.  On the other hand, if most
  3183. of your  callers use long distance to call your board, it would probably be
  3184. more polite  to not  use the  "downtime" option  when the  board is  down -
  3185. callers are not charged for calls to busy or unanswered lines.
  3186.  
  3187. How to configure WR-BBS for "downtime" operation.
  3188.  
  3189.           1.   Create a  set of  screen files explaining that the system is
  3190.                     unavailable.     See  section  7  for  instructions  on
  3191.                     creating screen  files.   Your announcement  should  be
  3192.                     only a  few lines  long -  never more  than  20  lines.
  3193.                     Create one  for each  type of caller with these special
  3194.                     names - DOWNTIME.ASC and DOWNTIME.ANS.  Put these files
  3195.                     in the  same directory  as all  of  your  other  screen
  3196.                     files.
  3197.           
  3198.           2.   Stop WR-BBS  if it  is running,  by pressing  ALT-Q from the
  3199.                     "waiting for calls" screen.
  3200.           
  3201.           3.  Start WR-BBS by typing this special command line:
  3202.  
  3203.                               WRBBS  /DOWN
  3204.  
  3205.  
  3206. When WR-BBS  is in "downtime" mode, any incoming call is answered as usual,
  3207. but  instead  of  logging  in  the  caller,  WR-BBS  displays  the  special
  3208. DOWNTIME.ASC or  DOWNTIME.ANS screen.  The caller is then prompted to press
  3209. a key  to end  the call.   If  the caller  does not  press a  key, the call
  3210. terminates automatically after 30 seconds.
  3211.  
  3212. To resume normal WR-BBS operation, stop WR-BBS with ALT-Q from the "waiting
  3213. for calls" screen, then type WR to start WR-BBS in normal mode.
  3214.  
  3215.  
  3216. ===========================================================================
  3217. SECTION 21                                        WHILE A CALLER IS ON LINE
  3218. ===========================================================================
  3219.  
  3220. There are some special keys available to the SysOp while a caller is logged
  3221. on.   If the  caller attempts  to press  these keys - they have no effect -
  3222. only the local console can activate these features:
  3223.  
  3224.           PGUP  -   Adds five minutes to the callers time.
  3225.           
  3226.           PGDN  -   Deducts five minutes from the callers time.
  3227.           
  3228.           ALT-X -   Immediately forces the caller off - abruptly!
  3229.  
  3230.  
  3231. In order  to use  these keys,  the caller must be in one of the menus (Main
  3232. Menu, Message System, Files Library).  To activate one of the special keys,
  3233. hold it  down until the desired effect is observed (it may take a second or
  3234. two).
  3235.  
  3236. Remember that  when a  caller is logged on, the local (console) keyboard is
  3237. active along  with the  callers.   This allows  you to  type things for the
  3238. caller (to  show a confused caller how to do something, for example).  This
  3239. also means  that you can "coerce" a caller to one of the menus by using the
  3240. regular command  keys (which  they could  use), and  then press  one of the
  3241. special keys described above.
  3242.  
  3243. ===========================================================================
  3244. SECTION 22                                 EXTERNAL FILE TRANSFER PROTOCOLS
  3245. ===========================================================================
  3246.  
  3247. WR-BBS does  NOT include  any file  transfer protocols in the program file.
  3248. All file  transfer activity  is controlled  by an  external  file  transfer
  3249. utility program(s)  that you  supply.   There are a number of external file
  3250. transfer  protocol   programs  available  from  BBS's  that  specialize  in
  3251. communications and  BBS utility  files, including  the WR-BBS  Headquarters
  3252. BBS.   From some  BBS's you can download public domain (free) copies of the
  3253. Xmodem and  Ymodem  file  transfer  utilities.    Other,  more  proprietary
  3254. protocols can  be obtained  for a  modest registration  fee on  a shareware
  3255. basis.
  3256.  
  3257. The WR-BBS  Headquarters BBS uses DSZ by Omen Technology, Inc., which is an
  3258. excellent multi-protocol  file transfer  utility.  It includes an authentic
  3259. version of  Zmodem, true  Ymodem, Xmodem,  and  many  variations  of  those
  3260. protocols, including  streamers  such  as  Ymodem-G  for  use  with  error-
  3261. correcting modems.  It is  a powerful  program with good documentation, and
  3262. well worth  the registration  fee.   The author is a registered user of DSZ
  3263. for use  in operating  the WR-BBS Headquarters BBS,  but has no affiliation
  3264. with Omen  Technology, Inc.  or the  authors of  their products.   You  can
  3265. obtain more  information on  DSZ or download an evaluation copy of DSZ from
  3266. Omen's BBS  at (503) 621-3746.  Remember to register any shareware programs
  3267. such as DSZ if you continue to use them after the evaluation period.
  3268.  
  3269. After obtaining  one or  more file  transfer utilities,  it is necessary to
  3270. understand how  WR-BBS invokes file transfers.  WR-BBS uses a batch file to
  3271. control all  file transfers.   This  batch file  is named  WFILEXFR.BAT.  A
  3272. sample copy  of WFILEXFR.BAT  is included  with the WR-BBS archive.  If you
  3273. use DSZ,  you can  probably use  that batch  file as  is, or  with  minimal
  3274. modification.
  3275.  
  3276. The batch  file WFILEXFR.BAT  uses the  parameters  to  branch  to  defined
  3277. labels, based  on what  WR-BBS passes.   If  you are  unfamiliar  with  the
  3278. concept of  replaceable parameters (command line variables) in batch files,
  3279. see your DOS manual for more details.
  3280.  
  3281. WR-BBS passes  five parameters  to WFILEXFR.BAT  when a  file  transfer  is
  3282. requested:
  3283.  
  3284. Parameter 1:   A single character, which represents the communications port
  3285.               that WR-BBS  has active  at the  time of  the file  transfer.
  3286.               This is  the port  that you  defined in WRCONFIG.SYS with the
  3287.               "PORTNUMBER=" keyword.  Some file  transfer programs  need to
  3288.               know what  port they  should use, especially if WR-BBS is not
  3289.               set up  to use COM1.  Possible values that may be sent by WR-
  3290.               BBS are  "1" for  COM1, "2",  for COM2, "3" for COM3, "4" for
  3291.               COM4, or  "N" in  the event  of a  local logon  that does not
  3292.               involve the modem (from the local console).
  3293.  
  3294. Parameter 2:   A  string that  represents the caller's connected baud rate.
  3295.               WR-BBS might send "300", "1200", "2400", "9600", etc.  If the
  3296.               caller is  "local" (logged  in from  the local console), then
  3297.               the word  "LOCAL" will  be sent in lieu of the baud rate.  If
  3298.               you  have   an  error-correcting  modem,  and  you  have  set
  3299.               LOCKDTE=Y in  WRCONFIG.SYS, then  WR-BBS will pass the locked
  3300.               DTE speed  as the  second parameter  instead of  the caller's
  3301.               connect speed.   This  is because  the file  transfer utility
  3302.               needs to  work at  the modem's  speed, not the caller's speed
  3303.               (which  is   usually  less).     An   error-correcting  modem
  3304.               compresses data and handles the buffering, so it is okay, for
  3305.               example, to have the file transfer utility cramming data into
  3306.               an error-correcting  modem at 38400 baud, while the caller is
  3307.               connected at  2400 baud.  Error-correcting  modems  use  flow
  3308.               control to  keep the data from overflowing when there is such
  3309.               a speed  difference - thus, it is very important to configure
  3310.               your file  transfer program  for the proper flow control when
  3311.               using  an   error-correcting  modem.    (Some  file  transfer
  3312.               programs,   including    DSZ,   handle   the   flow   control
  3313.               automatically).
  3314.  
  3315. Parameter 3:   Either  the string  "RECEIVE" or  the string  "SEND".   If a
  3316.               caller has  requested an  upload to  your WR-BBS,  then  your
  3317.               system will  "RECEIVE" the  file.   If a  caller  requests  a
  3318.               download, then your system will "SEND" the file(s).
  3319.  
  3320. Parameter 4:   A string - the protocol keyword, as defined in WRCONFIG.SYS.
  3321.               This will  make more  sense when the entries you need to make
  3322.               in WRCONFIG.SYS are explained a few paragraphs later.
  3323.  
  3324. Parameter 5:  The name of the file to be transferred, or the name of a file
  3325.               list (which  is a text file containing a list of file names).
  3326.               In the  case of  a single file transfer, the actual file name
  3327.               will be  sent as  parameter number five.  If there are two or
  3328.               more files  involved, WR-BBS  will create  a text  file named
  3329.               DL.LST, in  the home  path, and  pass  DL.LST  as  the  fifth
  3330.               parameter.  Many file transfer utilities, such as DSZ, expect
  3331.               a "list  file" to  tell them  when multiple  files are  to be
  3332.               transferred.  WR-BBS allows a caller to select up to 99 files
  3333.               for batch  download at  one time.  If the caller selects more
  3334.               than  one  (and  the  file  transfer  protocol  allows  batch
  3335.               transmission), then  WR-BBS puts  all of  the file names, one
  3336.               per line,  in  the  text  file  named  DL.LST,  then  invokes
  3337.               WFILEXFR.BAT, using DL.LST as the fifth parameter.
  3338.  
  3339. Parameter 6:  A numeric string ("1" to "99") which represents the number of
  3340.               files being  transferred.  Although WFILEXFR.BAT does not use
  3341.               this parameter, it is sent by WR-BBS to provide compatibility
  3342.               with file  transfer utilities that expect a file count on the
  3343.               command line.
  3344.  
  3345. Here are  some examples  of the  way that  WR-BBS calls WFILEXFR.BAT when a
  3346. file transfer is requested by a caller.  In each of these examples, we will
  3347. assume that WR-BBS is configured for COM1:
  3348.  
  3349. Example one  - The  caller is  connected at 1200 baud, and has requested an
  3350. Xmodem-CRC download of the file HELLO.TXT  ...
  3351.  
  3352.           WFILEXFR  1  1200  SEND  XMODEMCRC  HELLO.TXT  1
  3353.  
  3354. Example two  - The  caller wants to upload NEWFILE.ZIP, and is connected at
  3355. 2400 baud.   The  caller has chosen SuperVmodem (a fictitious protocol, for
  3356. example purposes only)  ...
  3357.  
  3358.           WFILEXFR  1  2400  RECEIVE  SUPERV  NEWFILE.ZIP  1
  3359.  
  3360. Example three  -  the caller is connected at 2400 baud, and has requested a
  3361. Zmodem download of these three files:  ONE.ZIP, TWO.ZIP, and THREE.ZIP ...
  3362.  
  3363.           WFILEXFR  1  2400  SEND  ZMODEM  DL.LST  3
  3364.  
  3365. Example four    -  the  caller  has  requested  an  Xmodem-1K  download  of
  3366. BIGFILE.ARJ, and  is connected  at 9600  baud (error-free),  with  the  DTE
  3367. locked at 38,400 baud  ...
  3368.  
  3369.           WFILEXFR  1  38400  SEND  XMODEM1K  BIGFILE.ARJ  1
  3370.  
  3371.  
  3372. Where does  WR-BBS get  the protocol  keywords, such  as XMODEMCRC, SUPERV,
  3373. ZMODEM, and  XMODEM1K found  in the  above examples?   Those come from your
  3374. entries in  WRCONFIG.SYS.   Remember that  WR-BBS does  not have  any  file
  3375. transfer protocols  available, until you define what they are and what they
  3376. can do - in WRCONFIG.SYS.  The proper syntax for file transfer protocols in
  3377. WRCONFIG.SYS is:
  3378.  
  3379.           1. The keyword  PROTOCOL=
  3380.           
  3381.           2. The  NAME of the protocol, as you wish to have it displayed to
  3382.              callers.   The name  you enter  here will be the name shown in
  3383.              the list  of available  protocols presented to the caller when
  3384.              they request  a file transfer.  This information is NOT passed
  3385.              to WFILEXFR.BAT  or used for any other reason except to inform
  3386.              the callers that the protocol is available for use.
  3387.           
  3388.           3. A pipe "|" symbol.
  3389.           
  3390.           4. The  protocol's KEYWORD, which will be passed to WFILEXFR.BAT.
  3391.              This string can be 1 to 16 characters long, and cannot contain
  3392.              spaces or any of the following characters:  @ < > , + ; $ %
  3393.           
  3394.               This  information is NEVER displayed to the caller, and it is
  3395.              only for  use by  WFILEXFR.BAT, to  differentiate one protocol
  3396.              from another.   To  make life  easier,  you  should  choose  a
  3397.              protocol KEYWORD  that relates  somehow to  the  name  of  the
  3398.              protocol.  See the examples below.
  3399.           
  3400.           5. Another pipe "|" symbol.
  3401.           
  3402.           6. The  word "SINGLE"  for single-file  protocols,  or  the  word
  3403.              "BATCH" for multiple-file protocols.
  3404.           
  3405.           7. Another pipe "|" symbol.
  3406.           
  3407.           8.   A list of 1 to 26 letters (A to Z), representing the classes
  3408.              of service permitted to use that protocol.
  3409.  
  3410.                                      
  3411.                                      
  3412.            (Port # 1 and 2400 baud used for both examples below)
  3413. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3414. Example one:   This (fictitious) protocol is called "SpeedyModem X", and is
  3415. capable of  multiple file transfers.  The SysOp wants it to be available to
  3416. all callers  in all  classes of  service.  The SysOp also wants the keyword
  3417. "SPEED" to  be passed  to WFILEXFR.BAT when a caller selects this protocol.
  3418. Here is what the entry in WRCONFIG.SYS would look like:
  3419.  
  3420. PROTOCOL=SpeedyModem (Real Fast)|SPEED_M|BATCH|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  3421.  
  3422. (Callers will see this protocol listed as "SpeedyModem").
  3423.  
  3424. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3425. if a caller chooses to download PICTURE.ZIP  ...
  3426.  
  3427.           WFILEXFR  1  2400  SEND  SPEED_M  PICTURE.ZIP  1
  3428.  
  3429. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3430. if a caller choose to download ONE.ARJ, TWO.ARJ, and THREE.ARJ  ...
  3431.  
  3432.           WFILEXFR  1  2400  SEND  SPEED_M  DL.LST  3
  3433.  
  3434. Here is what WR-BBS would send to WFILEXFR.BAT as command line parameters
  3435. if a caller told WR-BBS they wanted to upload GOODFILE.ZOO  ...
  3436.  
  3437.           WFILEXFR  1  2400  RECEIVE  SPEED_M  GOODFILE.ZOO  1
  3438.  
  3439.  
  3440. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3441. Example two:   This  is for the Xmodem-CRC protocol, one of the most common
  3442. (but not  the most  efficient) file  transfers available.  It is capable of
  3443. single file  (one at  a time)  transfers only.   The  SysOp wants  it to be
  3444. available to  all classes  of service.   The  SysOp has  decided to use the
  3445. keyword XMC  to designate Xmodem-CRC for configuration and control purposes
  3446. (in WRCONFIG.SYS and WFILEXFR.BAT).  Here is what the entry in WRCONFIG.SYS
  3447. would look like:
  3448.  
  3449. PROTOCOL=Xmodem-CRC|XMC|SINGLE|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  3450.  
  3451. (Callers will see this protocol listed as "Xmodem-CRC").
  3452.  
  3453. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3454. if a caller chooses to download PICTURE.ZIP  ...
  3455.  
  3456.           WFILEXFR  1  2400  SEND  XMC  PICTURE.ZIP  1
  3457.  
  3458. Here is  what WR-BBS  would send to WFILEXFR.BAT as command line parameters
  3459. if a caller told WR-BBS they wanted to upload GOODFILE.ZOO  ...
  3460.  
  3461.           WFILEXFR  1  2400  RECEIVE  XMC  GOODFILE.ZOO  1
  3462.  
  3463. As you  can see,  WR-BBS knows  the external protocols by two identifiers -
  3464. the first  one is  the "nice  looking" string that is presented to callers,
  3465. and not  used anywhere  else by  WR-BBS.   The  second  identifier  is  the
  3466. protocol keyword which is passed to WFILEXFR.BAT as a parameter.
  3467.  
  3468. Working with  your protocol's  documentation  and  this  section,  you  can
  3469. customize your  file transfer  protocol handling.   When  selecting a  file
  3470. transfer protocol  utility, and  when designing  your WFILEXFR.BAT file (if
  3471. you choose to modify it), you should keep these things in mind:
  3472.  
  3473.      1. You should use a file transfer protocol that allows you to restrict
  3474.      incoming files.   DSZ  does a good job of this.  If WFILEXFR.BAT tells
  3475.      DSZ to receive a file named GOOD.ZIP, and the called instead transmits
  3476.      BAD.TXT, DSZ  will name  the file  GOOD.ZIP.  The "restrict" option on
  3477.      the  DSZ   command  line   also  keeps   caller  from  accidently  (or
  3478.      intentionally) sending  files with pathnames that would locate them in
  3479.      a directory other than the one you want to receive them in.
  3480.      
  3481.      2. Your  file transfer protocol should delete any partial files.  This
  3482.      will  prevent  subsequent  callers  from  downloading  aborted  upload
  3483.      segments.
  3484.      
  3485.      3. If  you do not want callers to have access to new uploads until you
  3486.      have
  3487.      tested /  cataloged them,  set the  class of service (in WRCONFIG.SYS)
  3488.      for the  upload area  so that  only the SysOp has access to it.  Then,
  3489.      after you  have checked  the new  files (as  the SysOp),  you can edit
  3490.      their descriptions  to move  them to  a different file area that other
  3491.      callers have access to.
  3492.      
  3493.      4. All  incoming files must be written to the "uploads" directory that
  3494.      you specified  in WRCONFIG.SYS.   After an upload is completed, WR-BBS
  3495.      checks for  the existence  of the uploaded file in that directory.  If
  3496.      the file  is not found in the upload directory, the description record
  3497.      is deleted, and the upload is considered as failed.
  3498.      
  3499.      5. WR-BBS  checks for  the existence  of a  file named $FAILURE in the
  3500.      upload directory after an upload occurs.  If the file $FAILURE exists,
  3501.      WR-BBS assumes  that the  upload was  unsuccessful.  Your WFILEXFR.BAT
  3502.      file should  erase any $FAILURE file before invoking the transfer, and
  3503.      create $FAILURE  only if  there is a problem with the upload.  See the
  3504.      sample copy of WFILEXFR.BAT for details.
  3505.  
  3506.  
  3507. ===========================================================================
  3508. SECTION 23                                                    MISCELLANEOUS
  3509. ===========================================================================
  3510.  
  3511. QUESTION:  Why does WR-BBS ask callers if the want ANSI as soon as they log
  3512. on?  Some other BBS programs have "automatic ANSI detect" and automatically
  3513. determine if the caller has ANSI.  Why doesn't WR-BBS?
  3514.  
  3515. ANSWER:   The original  specification of  WR-BBS called  for automatic ANSI
  3516. sensing, and  that feature was included in WR-BBS up to beta version 0.96F.
  3517. There is  a problem  with the  whole  theory  of  automatic  ANSI  sensing,
  3518. however, so  the feature was removed from WR-BBS.  The problem is that when
  3519. the ANSI  response is  requested from  the caller's communications program,
  3520. some communications packages will respond indicating that an ANSI driver is
  3521. present, when  in fact  the caller  is using a terminal emulation that does
  3522. not support  ANSI.  This is true of several popular communications programs
  3523. being used  by a  majority of callers.  If the caller has selected TTY mode
  3524. for the terminal emulation (which is wrong, but they made the mistake), the
  3525. communications program  will still  respond with  the ANSI report code when
  3526. queried.   The same  is true,  with many  communications programs,  if  the
  3527. caller has  selected an  old VT-100  emulation that  does not fully support
  3528. ANSI color sequences.  The communications program will still report that it
  3529. supports ANSI  when asked.  Since WR-BBS is designed to be easy to call and
  3530. intuitive, filling  the callers  screen with garbage (just because they are
  3531. set up  wrong) is  not a good way to achieve that goal.  A caller can still
  3532. respond wrong to the ANSI question when logging on to WR-BBS, but the cause
  3533. and effect will be much more apparent to the caller.
  3534.  
  3535. There are  some BBS's  that auto-detect  ANSI, and  FORCE the ANSI onto the
  3536. caller upon  logon, whether  they want  it or  not.  Some callers, who have
  3537. full ANSI  support, prefer not to use ANSI on some calls.  This may be true
  3538. when they  are in  a hurry,  and don't want to wait for the slightly longer
  3539. amount of  time it  takes to draw ANSI screens.  At other times, these same
  3540. callers desire  ANSI.   With a BBS that forces ANSI just because it detects
  3541. it, the  caller loses  some of  this control.   Additionally, callers whose
  3542. communications programs report that ANSI is enabled when it is not are just
  3543. out of luck.  WR-BBS will not do this to your callers.
  3544.  
  3545. QUESTION:  Why doesn't WR-BBS include any file transfer protocols?
  3546.  
  3547. ANSWER:   To keep  development times as short as possible, to keep the cost
  3548. down, and  to make  WR-BBS as flexible as possible, I intentionally did not
  3549. include any  file transfer  protocols in WR-BBS.  You can obtain the Xmodem
  3550. file transfer protocol as a public domain utility from BBS's throughout the
  3551. world.   Add that  to WR-BBS,  and you have a BBS that supports Xmodem file
  3552. transfers -  comparable to  other shareware BBS programs available.  WR-BBS
  3553. allows you to custom-define up to 26 file transfer protocols - but you must
  3554. supply them.   On  my own board, I use just two protocol utilities.  One is
  3555. DSZ, an  excellent multi-flavor  utility that  supports Xmodem, Ymodem, and
  3556. Zmodem.   The other  is a public domain Kermit protocol.  I have registered
  3557. DSZ with  its author, at a nominal charge, and I consider that registration
  3558. charge to be a bargain for the value delivered by the DSZ utility.  Even if
  3559. you add in the registration for a utility like DSZ, the cost of registering
  3560. both WR-BBS and the protocol with the respective authors is around $50.00 -
  3561. not a  bad price  for a BBS like WR-BBS that includes up to seven varieties
  3562. of file transfer protocols.  WR-BBS gives you that flexibility!
  3563.  
  3564. Before I  wrote WR-BBS,  I  ran a "commercial" BBS product on my own board,
  3565. and that  product included  an inefficient  and unreliable knock-off of the
  3566. Zmodem protocol.   I ended up disabling the "built-in" Zmodem hack job, and
  3567. using an  external Zmodem  utility to  provide reliable  operation.    That
  3568. commercial BBS  product cost  more than five times the registration cost of
  3569. WR-BBS, and  I had to throw more money after it just to defeat their built-
  3570. in Zmodem and register a real Zmodem utility.
  3571.  
  3572. I could  have included  some exotic  protocols in  WR-BBS, but most of them
  3573. require royalties or license fees to their authors.  I don't have a problem
  3574. with that, but I wanted to keep WR-BBS's cost low.
  3575.  
  3576.  
  3577. QUESTION:  Does WR-BBS support off-line mail facilities and/or networking?
  3578.  
  3579. ANSWER:   No.   Although it  is remotely  possible that  I may pursue these
  3580. features in  the distant  future, I  have no  plans to do so in foreseeable
  3581. upcoming versions.   There  are other  BBS applications  that provide these
  3582. features, and  do them  well.  My intent with WR-BBS is to provide an easy-
  3583. to-navigate, easy-to-administer BBS.
  3584.  
  3585.  
  3586.